BufferedInputStream与FileInputStream的IO效率对比

来源:互联网 发布:sql注入漏洞的原理 编辑:程序博客网 时间:2024/05/16 15:34

下面的代码主要就是分别使用FileInputStream、BufferedInputStream来读取相同内容的两个TXT文件,计算其时间之差。

 

public  class test{public static void main(String args[]){try {long start = System.currentTimeMillis();System.out.println("程序开始执行的时间为:"+start);File fi = new File("E:/asd.txt");FileInputStream fis = new FileInputStream(fi);int c=fis.read();while(c!=-1){System.out.print((char)c);c=fis.read();}long end = System.currentTimeMillis();System.out.println("程序运行结束的时间为: "+end);System.out.println("程序执行时间为:" + (end - start) + "毫秒");start = System.currentTimeMillis();System.out.println("程序开始执行的时间为:"+start);File afi = new File("E:/asdasd.txt");FileInputStream afis = new FileInputStream(afi);BufferedInputStream bis = new BufferedInputStream(afis);c=bis.read();while(c!=-1){System.out.print((char)c);c=bis.read();}end = System.currentTimeMillis();afis.close();fis.close();bis.close();System.out.println("程序运行结束的时间为: "+end);System.out.println("程序执行时间为:" + (end - start) + "毫秒");} catch (Exception el) {el.printStackTrace();}}}


 第一次测试时asd.txt与asdasd.txt的内容,大小为1KB。

abcdefghijklmnopqrstuvwxyz

运行结果:

程序开始执行的时间为:1369837963924
文件内容: abcdefghijklmnopqrstuvwxyz
程序运行结束的时间为: 1369837963926
程序执行时间为:2毫秒
程序开始执行的时间为:1369837963926
文件内容: abcdefghijklmnopqrstuvwxyz
程序运行结束的时间为: 1369837963927
程序执行时间为:1毫秒


这只是一小段内容,不能体现什么,第二次使用了一个98KB的小说来测试,内容过多就没有输出,结果如下:

程序开始执行的时间为:1369838163631文件内容: 程序运行结束的时间为: 1369838164235程序执行时间为:604毫秒程序开始执行的时间为:1369838164236文件内容: 程序运行结束的时间为: 1369838164239程序执行时间为:3毫秒


结果可见其时间相差多少,BufferedInputStream提高的IO效率有多高,这次测试乃是无聊之作,若有什么问题,请指出。

原创粉丝点击