Java缓冲流案例

1.缓冲流涉及到的类
BufferedInputStream
BufferedOutputStream
BufferedReader
BufferedWriter

2.作用
作用:提供流的读取、写入速度
提高读写速度的原因:内部提供了一个缓冲区,默认情况下是8kb

 3.典型代码
3.1 使用BufferedInputStream和BufferedOutputStream:处理非文本文件

@Test
public void InputStreamReaderTest() {
    BufferedInputStream b1 = null;
    BufferedOutputStream b2 = null;
    try {
        File file = new File("hello.txt");
        File file1 = new File("hello2.txt");
        FileInputStream f1 = new FileInputStream(file);
        FileOutputStream f2 = new FileOutputStream(file1);
        b1 = new BufferedInputStream(f1);
        b2 = new BufferedOutputStream(f2);
        byte[] bytes = new byte[1024];
        int len;
        while ((len = b1.read(bytes)) != -1){
            b2.write(bytes,0,len);
        }
    } catch (IOException e) {
        throw new RuntimeException(e);
    } finally {
        if (b1 != null) {
            try {
                b1.close();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
        if (b2 != null){
            try {
                b2.close();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    }

3.2 使用BufferedReader和BufferedWriter
方法和上面的相似,略
下图是方法二,readline可以读取一行,但读取的不包含换行符,需要自己添加
newLine是一个换行,或者直接自己写换行

 下图flush方法是一个刷新的作用,因为Bufferedxxx是一个处理流,它的数据可以被存储在缓冲区内,当到达缓冲区的极限时才会被写出,通过此方法可以直接把缓冲区的内容写出到文件内

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值