BufferedInputStream与FileInputStream的IO效率对比

下面的代码主要就是分别使用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效率有多高,这次测试乃是无聊之作,若有什么问题,请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值