【java】学习路径39-Buffered缓冲输出流

Posted on 2022-05-04 14:40  罗芭Remoo  阅读(33)  评论(0编辑  收藏  举报
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class IOtest_Buffer {
    public static void main(String[] args) throws IOException {
        //缓冲区输出流,包装流
        //对FileOutputStream包装的流,加了一层缓冲区
        BufferedOutputStream bufferedOutputStream = null;


        try {
//            bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("demo005"));
            //BufferedOutputStream有两个参数,一个是FileOutputStream类型,一个是int类型,后者是指定缓冲区的大小。
            bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("demo005",true),20);

            bufferedOutputStream.write('h');
            bufferedOutputStream.write("hello".getBytes());
            //一般来说,缓冲区的数据必会立即写入到硬盘中,除非缓冲区满了。
            //但是如果调用了flush刷新缓冲区,或者close关闭缓冲区的时候,数据便会写入。
            
            bufferedOutputStream.flush();
        }catch(IOException ioException){
            ioException.printStackTrace();
        }finally{
            //throws抛出了这个异常
            bufferedOutputStream.close();
        }
    }
}