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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 七年锦·旅行 中级黑马   /  2014-5-23 15:47  /  1572 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

路过的大神前辈,小白遇到了下面这道题不会做,请指点迷津:

   问题:  使用带缓冲功能的字节流复制文件。

请问这用到了哪些还没有学到的东西,跪求指导

3 个回复

倒序浏览
IO字节流的输入和输出流,所谓缓冲就是先读入到字节数组里,缓冲区满了再输出写入。
回复 使用道具 举报
为什么使用缓冲流?如果不用缓冲流的话,程序是读一个数据,写一个数据。这样在数据量大的程序中非常影响效率。
   缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了
public class BufferCopy {

        /**
         * @param args
         * 利用缓冲区复制一个文件
         *
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                FileReader fr  =null;
                FileWriter fw  = null;
                BufferedReader br = null;
                BufferedWriter bw = null;
                try{
                        fr = new FileReader("c:\\1.text");
                        fw = new FileWriter("d:\\1.text");
                        br = new BufferedReader(fr);
                        bw = new BufferedWriter(fw);
                        String line  = null;
                        while((line=br.readLine())!=null){
                                bw.write(line);
                                //运用到缓冲区是一定要flush
                                bw.flush();
                        }
                }catch(IOException e){
                        throw new RuntimeException("读写失败");
                       
                }finally{
                        try {
                                if(br!=null)
                       
                                br.close();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                throw new RuntimeException("读取失败");
                               
                        }
                        if(bw!=null){
                                try {
                                        bw.close();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        throw new RuntimeException("写入失败");
                                }
                        }
                }
        }

}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 赞一个!

查看全部评分

回复 使用道具 举报
lwy0319 发表于 2014-5-23 22:18
IO字节流的输入和输出流,所谓缓冲就是先读入到字节数组里,缓冲区满了再输出写入。 ...

前辈,谢谢你
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马