3-16代码这样写正确吗,怎么我的用时这么少的?没有效果图那么多,是哪里出问题了吗?

3-16代码这样写正确吗,怎么我的用时这么少的?没有效果图那么多,是哪里出问题了吗?

package com.imoo.file;

import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedHW {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			FileOutputStream fos1=new FileOutputStream("one.txt");
			long oneStartTime=System.currentTimeMillis();
			for(int i=0;i<100000;i++) {
				fos1.write('a');
			}
			fos1.close();
			long oneEndTime=System.currentTimeMillis();
			System.out.println("one不使用缓冲流");
			System.out.println("用时为:"+(oneEndTime-oneStartTime));
			
			
			
			FileOutputStream fos2=new FileOutputStream("two.txt");
			BufferedOutputStream bos=new BufferedOutputStream(fos2);
			long twoStartTime=System.currentTimeMillis();
			for(int i=0;i<100000;i++) {
				bos.write('b');
			}
			bos.flush();
			bos.close();
			fos2.close();
			long twoEndTime=System.currentTimeMillis();
			System.out.println("two使用缓冲流");
			System.out.println("用时为:"+(twoEndTime-twoStartTime));
			System.out.println((oneEndTime-oneStartTime)-(twoEndTime-twoStartTime));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

用时越少说明你的cpu效能越高,主要是比较两种方式的时间的差别,能跑出结果就应该没什么问题

  • 进击的牙套仔 提问者 #1
    one不使用缓冲流 用时为:316 two使用缓冲流 用时为:6 310 上面这个段是运行后的内容,跟效果图相差太大了,有点不敢相信。。。
    2018-09-09 23:00:55
提问者 进击的牙套仔 2018-09-09 23:03:00

http://img1.sycdn.imooc.com//climg/5b9535f900015f7b04730203.jpg这是效果图,用时跟效果差距太大了,有点不敢相信

  • 效果图只是个运行效果的参考,不能作为数据的参照,你的代码符合题目要求,结果是没有问题的。
    2018-09-10 09:22:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师