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();
}
}
}