io 的9种读取方式的快慢对比,io流完美解读

io 流完美解读重点看源码

https://blog.csdn.net/baobeisimple/article/details/1713797

总结:
复制文本文件有几种方式?
                 9种
复制图片文件有几种方式?
                 4种
他们各自的优缺点是什么?
字符流按字符处理数据,速度较之于同原理的字节流快,但是使用范围较小,仅限文本文件;
字节流处理范围广,文本,音频,视频都可以处理。

io 的9种读取方式的快慢对比,io流完美解读_第1张图片

数据的读写,按照数据类型可以分为两种:字符流和字节流(二者区别?)。所以数据读取方式按照数据类型也可以分为两类:字节流的读取和字符流的读取。

一、字节流读取操作:

(10km/h)

1、FileInputStrem和FileInputStream字节流逐字节读写(速度最慢)

 io 的9种读取方式的快慢对比,io流完美解读_第2张图片

(30km/h)

2、FileInputStrem和FileInputStream构造一个缓冲数组进行读写(速度提升)

io 的9种读取方式的快慢对比,io流完美解读_第3张图片

(50km/h)

3、利用字节缓冲区流BufferedInputStream和BufferedOutputStream来直接逐字节读写(速度较快)

io 的9种读取方式的快慢对比,io流完美解读_第4张图片

(100km/h)

4、利用字节缓冲区流BufferedInputStream和BufferedOutputStream通过构造一个缓冲数组进行读写

io 的9种读取方式的快慢对比,io流完美解读_第5张图片

io 的9种读取方式的快慢对比,io流完美解读_第6张图片 

 

5、利用字符流InputStreamReader和 OutputStreamWriter直接按字节读取

io 的9种读取方式的快慢对比,io流完美解读_第7张图片

拷贝一个的视频文件,

但是呢,这样的结果是拷贝之后的视频,总大小减小了,原因是直接用的是字符流拷贝导致的,所以对于视频、音乐这些多媒体文件来说,要用字节流进行拷贝。

-6、字符流InputStreamReader和 OutputStreamWriter直接用缓冲区数组读写

io 的9种读取方式的快慢对比,io流完美解读_第8张图片

 

同样拷贝上述视频文件,

|

|

|-----7、字符缓冲流BufferedWriter和BufferedReader直接逐字节读写

io 的9种读取方式的快慢对比,io流完美解读_第9张图片

 

拷贝上述视频文件,

8、字符缓冲流BufferedWriter和BufferedReader按照数组大小逐块读写

io 的9种读取方式的快慢对比,io流完美解读_第10张图片

 

拷贝上述视频文件,

9、字符缓冲流BufferedWriter和BufferedReader按逐行读写(应用于文本读写)

io 的9种读取方式的快慢对比,io流完美解读_第11张图片


 

你可能感兴趣的:(【java,io调优】)