(IO流)高效字节流BufferedOutputStream

本文介绍了BufferedOutputStream,一个用于提高字节输出流效率的类。它通过内部缓冲区减少系统调用,从而提升写入速度。文章详细解析了其构造方法和与OutputStream类似的功能方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念:提供一个缓冲区,用于存取系统中数据,提高读写效率。
BufferedOutputStream:高字节输出流。
API:
在这里插入图片描述
解析:BufferedOutputStream类是高效字节缓冲输出流类,底管理一个字节数组,通过减少操作系统调用,从而大大提高写入效率。
构造方法:

public class Demo8 {
    public static void main(String[] args) throws FileNotFoundException {
        //BufferedOutputStream(OutputStream)默认缓冲区大小8192
        OutputStream os = new FileOutputStream("文件地址");
        BufferedOutputStream out = new BufferedOutputStream(os);
        System.out.println(out);//输该对象地址。

        //BufferedOutputStream(OutputStream)设置缓冲区大小
        BufferedOutputStream out2 = new BufferedOutputStream(os,24);\
        System.out.println(out2);
        //问题:创建bufferedOutputStream对象如何保存已存在的内容呢?
        //答:可以获取OutputStream对象是,设置保留文件内容。
        // 将该对象作为参数通过构造方法传递给bufferedOutputSreeam对象。
        
    }
}

构造方法:
在这里插入图片描述

public class Demo9 {
    public static void main(String[] args) throws FileNotFoundException {
        //BufferedOutputStream(OutputStream) 默认缓冲区大小8192
        OutputStream os = new FileOutputStream("/Users/jim/Desktop/Work/temp/java0817/bout.txt",true);
        BufferedOutputStream out = new BufferedOutputStream(os);
        System.out.println(out);//java.io.BufferedOutputStream@610455d6


        //BufferedOutputStream(OutputStream,int) 设置缓冲区大小
        BufferedOutputStream out2 = new BufferedOutputStream(os,1024);
        System.out.println(out2);//java.io.BufferedOutputStream@511d50c0

        //问题:创建bufferedOutputStream对象时如何保存已存在文件的内容呢?
        //答:可以在获取OutputStream对象时,设置保留文件内容。再将该对象作为参数通过构造方法传递给bufferedOutputStream对象
    }
}

功能方法(与OutputStream类功能一致):

public class Demo10 {
    public static void main(String[] args) throws IOException {

        OutputStream os = new FileOutputStream("文件地址");
        BufferedOutputStream out = new BufferedOutputStream(os);
        //write()一个一个字节写
        //out.write(97);
        String s="广东省广州市南沙区";
        byte [] bs= s.getBytes();
        out.write(bs);
        out.flush();
        //用于刷新缓冲字符去区中的字节数据,写入到硬盘中。
        out.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值