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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        public static void copyPic() throws IOException {
               
                //1,明确数据源和数据目的。
                FileInputStream fis = new FileInputStream("temp\\0.bmp");               
                FileOutputStream fos = new FileOutputStream("temp\\1.bmp");
               
                //2,自定义缓冲区。
                byte[] buf = new byte[1024];
               
                int len = 0;
               
                while((len=fis.read(buf))!=-1){//  (len=fis.read())!=-1 //read读的是一个字节,返回字节对应的数
                        fos.write(buf,0,len);
                        ??????为什么在此不能  fos.flush();
                }       
               
                fos.close();
                fis.close();
        }

思考了很久,,,不明白为什么在fos.write(buf,0,len);后面,,不能添加

fos.flush();

求解,,,,谢谢了。。



评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

3 个回复

倒序浏览
字符流按字符操作,字节流按字节操作。
字符流一样用的字节,有缓冲区,字符流需要刷新动作,字节流不需要刷新
这个问题毕老师在19天的10节说的很详细了,希望对你有帮助!

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

回复 使用道具 举报
可以写啊  问什么不行,,我已经试过了 ,,可以正确完成复制,,,,,,
只是用在这儿   ,,,没有什么用处,‘’
FIleOutputStream的flush()方法是从OutputStream中继承来的,而OutputStream中的flush并不做任何操作,

003.png (91.87 KB, 下载次数: 80)

003.png

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
霍振鹏 发表于 2014-3-25 21:30
可以写啊  问什么不行,,我已经试过了 ,,可以正确完成复制,,,,,,
只是用在这儿   ,,,没有什么 ...

我觉得这就是问题所在了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马