8)BufferedInputStream&BufferedOutputStream
这两个流类位IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能
FileOutputStream--->write()方法相当于一滴一滴的把水转移过去
DataOutputStream--->writeXxx()方法方便一些,相当于一瓢一瓢的把水转移过去
BufferedOutputStream--->write()方法更方便,相当于一瓢一瓢先放入桶中,再从桶中倒入另一个缸中
这里他在每次写入后都刷新缓冲区一次.
buffer相当于一瓢一瓢水倒入桶中,再从桶倒入缸
EOF=-1时读文件截止;
flush()方法是刷新缓冲区;
注意! 这里需要"刷新缓冲区".
BufferedXXXStream 也是通过包装一层 FileXXXStream 来实现的.
FileOutputStream
DataOutputStream
BufferedOutputStream
三种类的使用区别.
批量字节拷贝最快只需要7毫秒,回头看看一下这种方法。
对于BufferedOutputStream这种情况,flush()是一定要写了
BufferedOutputStream性能会更好
把一整个数据类型,一次转移,即一条一条的转移。
12121
缓冲方法中的flush 是必须的.
而且读取和写入流用完后都需要关闭.
FileOutputStream DataOutputStream BufferedOutputStream 三个的对比
2222222222222
2222222
222222
1111111111111
11111
关于流读取文件快慢的比较:如图
1,批量读取字节数组是最快的,
2,单个读取字节数组带缓冲的
3,单个读取字节数组不带缓冲的
使用BufferOutputStream 要注意的点:
如图:写完流操作后,一定要调用flush()方法。这也是BufferOutputStream和其它OutputStream的不同之处,
记得关闭流:close()方法
BufferedInputStream & BufferedOutputStream
这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读出操作时,都会加上缓冲,这种流模式提高了IO的性能
FileOutputStream--->write()方法相当于一滴一滴地把水“转移”过去
DataOutputStream--->writeXxx() 方法相当于一瓢一瓢把水“转移”过去
BufferedOutputStream-->write() 相当于一瓢一瓢放到桶里,再从桶中倒入缸中,性能提高了
要用.flush()刷新缓冲区,要不然写入不到文件当中去
这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读出操作时,都会加上缓冲,这种流模式提高了IO的性能
FileOutputStream--->write()方法相当于一滴一滴地把水“转移”过去
DataOutputStream--->writeXxx() 方法相当于一瓢一瓢
BufferedOutputStream-->write() 相当于一瓢一瓢放到桶里,在倒到水缸中
(8)BufferedInputStream & BufferedOutputStream
这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读出操作时,都会加上缓冲,这种流模式提高了IO的性能
FileOutputStream--->write()方法相当于一滴一滴地把水“转移”过去
DataOutputStream--->writeXxx() 方法相当于一瓢一瓢
BufferedOutputStream-->write() 相当于一瓢一瓢放到桶里,在倒到水缸中
注意:flash清除缓冲数据
从应用程序中把输入放入文件,相当于将一缸水倒入另一缸水中;
FileOutputStream-->write()方法相当于一滴一滴地把水“转移”过去
DataOutputStream-->writeXxx()方法会方便一些,相当于一瓢一瓢把水“转移”过去
字节缓冲流
BufferedOutputStream/BufferedInputStream:字节缓冲流
在使用字节缓冲流时在写入过程中必须刷新。使用.flush();方法。
使用方式:BufferedOutputStream bos=new BufferedOutputStream(FileOutputStream文件输入流);
FileOutputStream批量读取效率>BufferedOutputStream中readXxx()>FileoutputStream中read();
文件拷贝,字节批量读取(定一个数组大小)
单字节读取
字节流带缓冲区读取
字节缓冲流