A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

// 用字符流--一次一个字符
        private static void method1() throws IOException {
                // 封装数据源和目的地
                FileReader fr = new FileReader("mn.jpg");
                FileWriter fw = new FileWriter("d:\\mn.jpg");

                // 基本读写
                int ch = 0;
                while ((ch = fr.read()) != -1) {
                        fw.write(ch);
                        // fw.flush();
                }

                // 释放资源
                fw.close();
                fr.close();
        }

6 个回复

倒序浏览
ch不是0吗
回复 使用道具 举报
read返回的是int    这个值先赋给ch   再判断是不是-1
回复 使用道具 举报
thoris 发表于 2015-5-27 00:14
read返回的是int    这个值先赋给ch   再判断是不是-1

为什么选择-1,如果是0会是什么情况?
回复 使用道具 举报
18463730277 发表于 2015-5-27 00:32
为什么选择-1,如果是0会是什么情况?

0可以转换陈个对应的char字符  即 (char)0
楼主的这个例子  读取图片是不能用字符流的 图片里面的数据不能转换成正常的字符
回复 使用道具 举报
thoris 发表于 2015-5-27 19:53
0可以转换陈个对应的char字符  即 (char)0
楼主的这个例子  读取图片是不能用字符流的 图片里面的数据 ...

原来是这样,:handshake
回复 使用道具 举报
林RM 中级黑马 2015-5-29 23:31:48
7#
fr.read()方法,如果流读到到数据会返回ch,读不到会返回-1,所以条件语句是ch!=-1执行循环,当返回-1时循环结束
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马