[size=x-large][b]DataInputStream 、BfferedInputStream、InputStream的比较[/b][/size]
[img]http://dl.iteye.com/upload/attachment/0084/3818/2528b08d-13f3-3bb3-8296-9fafb0f33f86.jpeg[/img]
[img]http://dl.iteye.com/upload/attachment/0084/3820/eb464d8c-bb3b-3851-999e-e1541ef07104.jpeg[/img]
[img]http://dl.iteye.com/upload/attachment/0084/3822/88a371c5-d762-3800-99ee-dddf85f51c30.jpeg[/img]
[b]心得:[/b]
过测试发现DataInputStream 、 BfferedInputStream 、 InputStream三种方法在复制一个470KB的文本文件时,所消耗的时间分别为:
使用数据流复制文件耗费时间:6734ms
使用缓冲数据流复制文件耗费时间:1375ms
使用字节数据流复制文件耗费时间:6469ms
可见缓冲数据流的读取写入的速度是最快的!通过分析和考证明白了三种流的特征,DataInputStream & InputStream使用read方法时每次只读取一个字节,因为这两种方法所使用的时间差不多,但是如果DataInputStream 使用readInt方法时,DataInputStream 的速度就会比InputStream更快了,前提是所访问的文本是符合4字节的整数倍,那么写入文件也writeInt方法相匹配。而BfferedInputStream 每次读取的数据先放入缓冲区,到了一定的大小时,再一次写入文件,从而提升了文件的读写速度。
[img]http://dl.iteye.com/upload/attachment/0084/3818/2528b08d-13f3-3bb3-8296-9fafb0f33f86.jpeg[/img]
[img]http://dl.iteye.com/upload/attachment/0084/3820/eb464d8c-bb3b-3851-999e-e1541ef07104.jpeg[/img]
[img]http://dl.iteye.com/upload/attachment/0084/3822/88a371c5-d762-3800-99ee-dddf85f51c30.jpeg[/img]
[b]心得:[/b]
过测试发现DataInputStream 、 BfferedInputStream 、 InputStream三种方法在复制一个470KB的文本文件时,所消耗的时间分别为:
使用数据流复制文件耗费时间:6734ms
使用缓冲数据流复制文件耗费时间:1375ms
使用字节数据流复制文件耗费时间:6469ms
可见缓冲数据流的读取写入的速度是最快的!通过分析和考证明白了三种流的特征,DataInputStream & InputStream使用read方法时每次只读取一个字节,因为这两种方法所使用的时间差不多,但是如果DataInputStream 使用readInt方法时,DataInputStream 的速度就会比InputStream更快了,前提是所访问的文本是符合4字节的整数倍,那么写入文件也writeInt方法相匹配。而BfferedInputStream 每次读取的数据先放入缓冲区,到了一定的大小时,再一次写入文件,从而提升了文件的读写速度。