JAVA IO 缓冲流

摘抄自 b站尚硅谷JAVA视频教程

 BufferedInputStream  BufferedOutputStream  缓冲字节流

BufferedReader  BufferedWriter 缓冲字符流

用法跟无缓冲的IO实现类一致. 其中

  输出流增加了一个flush方法,用于手动刷新缓冲区.

  字符缓冲输入流(BufferedReader)增加了一个readline方法,返回值为null时为文件末尾

  字符缓冲输出流(BufferWriter)增加了一个newline方法,可以写入一个换行符

在字节流外面,包一层缓冲流,实现读写的加速. 因为其内部增加了一个缓冲区.

关闭的时候,仅关闭缓冲流即可.(会自动关闭被包裹的字节流)

File file = null;
        File gg = null;
        gg = new File("gg.jpg");
        file = new File("ggCopy.jpg");
        FileOutputStream fo=null;
        FileInputStream fi =null;
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            fo = new FileOutputStream(file);
            bos = new BufferedOutputStream(fo);
            fi = new FileInputStream(gg);
            bis = new BufferedInputStream(fi);

            byte [] bytes = new byte[5];
            int len =0;
            while ((len=bis.read(bytes))!=-1){
                bos.write(bytes,0,len);
                ;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(bos!=null){
                try{
                    bos.close();
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
            if(bis!=null){
                try{
                    bis.close();
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
        }

 

posted @ 2020-02-21 14:23  超级学渣渣  阅读(272)  评论(0编辑  收藏  举报