java – 为什么我的流复制过程的性能稳定下降
发布时间:2020-12-15 04:50:16 所属栏目:Java 来源:网络整理
导读:在复制大文件期间,此代码的工作速度越来越慢.难道我做错了什么? InputStream ms2 = new BufferedInputStream(new FileInputStream("/home/fedd/Videos/homevid.mp4")); OutputStream fos2 = new BufferedOutputStream(new FileOutputStream("testfile2.mp4"
在复制大文件期间,此代码的工作速度越来越慢.难道我做错了什么?
InputStream ms2 = new BufferedInputStream(new FileInputStream("/home/fedd/Videos/homevid.mp4")); OutputStream fos2 = new BufferedOutputStream(new FileOutputStream("testfile2.mp4",true)); try { int byt; int i = 0; long time = System.currentTimeMillis(); while ((byt = ms2.read()) != -1) { fos2.write(byt); i++; if (i > 100000) { i = 0; long took = System.currentTimeMillis() - time; System.out.println("100000 bytes took " + took + " milliseconds which means " + (100000000 / took) + " bytes per second"); } } fos2.close(); ms2.close(); } catch (Exception e) { throw new RuntimeException(e); } 我的Java是:
解决方法
每次比较后,您需要重置基准’时间’.试试这个:
if (i > 100000) { i = 0; long took = System.currentTimeMillis() - time; time = System.currentTimeMillis(); System.out.println("100000 bytes took " + took + " milliseconds which means " + (100000000 / took) + " bytes per second"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 更新data.table中的向量
- 使用Retrofit和RxJava下载并编写文件
- java – 使用Apache Commons FTPSClient在“数据通道上需要
- java中equse和==做比较记录(转)
- 在Intellij Idea中使用jstl标签库
- Java静态工厂方法的实例详解
- java – 检查一个数据测试 – pair_sum_even_count
- java.util.concurrent.ExecutionException 问题解决方法
- java – ClassNotFoundException:org.hibernate.service.j
- Java基础之Integer使用的注意事项及面试题