Document

通过字节缓冲流提高读写效率

通过字节缓冲流提高读写效率

字节缓冲流,通过内部缓存数组来提高操作效率

FIleInputStream和FileOutputStream都是节点流,它们相当于一个管道,进行一个数据的流通。

而BuffrerdInputStream和BufferedOutpurStream都是处理流,它们相当于管道的保护层/海绵,是节点流缓冲区。

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class FileStreamBuffed3Demo {
    public static void main(String[] args) {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;

        try {
            fis = new FileInputStream("D:\\IOTest\\侠客.jpg");
            bis = new BufferedInputStream(fis);
            fos = new FileOutputStream("D:\\IOTest\\侠客3.jpg");
            bos = new BufferedOutputStream(fos);
            // 缓冲区中,byte数组长度默认是8192
            int temp = 0;
            while ((temp = bis.read())!=-1){
                bos.write(temp);
            }
            bos.flush();
        }catch (Exception e){
            e.fillInStackTrace();
        }finally {
            try {
                // 关闭流时注意,后进来的先关闭
                if (bis != null){
                    bis.close();
                }
                if (fis != null){
                    fis.close();
                }
                if (bos != null){
                    bos.close();
                }
                if (fos != null){
                    fos.close();
                }
            }catch(Exception e) {
                e.fillInStackTrace();
            }
        }

    }
}

posted @ 2022-08-23 19:44  一蓑烟雨任平生。。  阅读(114)  评论(0)    收藏  举报
Document