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 @   一蓑烟雨任平生。。  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
Document
点击右上角即可分享
微信分享提示