为什么有的输出流需要flush,有的却不需要?
BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
bw.write("HelloWorld");
这个流不需要flush和close,就能把HelloWorld写入到文件中
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("test.txt"));
byte[] bt = {1,2,3,4,5,6};
bos.write(bt);
这个流却必须加上flush才能在文件中看到写入.
这是为什么呢?
------解决方案--------------------BufferedWriter 的 write 会自动刷新缓冲区
而BufferedOutputStream 不会自动刷新缓冲区 需要添加flush
------解决方案--------------------自动帮你flus了啊.
------解决方案--------------------第一个自动刷新 第二个你必须自己刷新或者流中的数据放满了才会刷新