模拟下载文件还需要多久的测试demo
来源:互联网 发布:徐州淘宝代运营 编辑:程序博客网 时间:2024/04/26 07:50
写了一个模拟demo,实现一下下载时,还需要用时多久。我们平时用各种软件下载的时候都会有一个提示,告诉你下载完还要用时多久,这块的实现原理,我理解为每次下载的块大小所用时间,再乘以一共需要下载多个块,得出还需要用时多久。
下面就是模拟实现这个功能的测试代码:
/** * @param args */ public static void main(String[] args) { Random r = new Random(); long size = 10000; // 下载文件的大小 long startPos = 0;// 上次下载的位置 long sum = 0; // 每次累计下载了多少 long begin = System.currentTimeMillis(); while (true) { long startTime = System.currentTimeMillis(); // 读取前的计时 long offset = 1000; // 模拟每次下载多少,也可以采用随机数的方式模拟 r.nextInt(1000); try { // 模拟下载时读取一段数据耗时 Thread.sleep(1000l); } catch (InterruptedException e) { e.printStackTrace(); } long endTime = System.currentTimeMillis(); // 读取后的计时 long useTime = endTime - startTime; // 时间差即为读取一段数据耗时 sum += offset; long fileLength = size - startPos - sum;// 计算还要下载多大 // 每一个数据块下载的耗时再乘以需要下载多少数据块,就得到了还需要耗时多久 long restTime = fileLength / offset * useTime; System.out.println("restTime = " + formatTime(restTime)); if (fileLength <= 0) { break; } } System.out.println("Total time = " + formatTime((System.currentTimeMillis() - begin))); } private static String formatTime(long time) { long minute = time / 1000l / 60; long second = time / 1000l % 60; return minute + "分" + second + "秒"; }
贴一下测试运行后的结果:
restTime = 0分9秒
restTime = 0分8秒
restTime = 0分7秒
restTime = 0分6秒
restTime = 0分5秒
restTime = 0分4秒
restTime = 0分3秒
restTime = 0分2秒
restTime = 0分1秒
restTime = 0分0秒
Total time = 0分10秒
0 0
- 模拟下载文件还需要多久的测试demo
- linux还需要多久真正走入我们的电脑
- baidu 云盘 php下载代码,还需要测试
- 青云搭建一套测试平台需要多久
- Java的辉煌 还能延续多久?
- Java的辉煌 还能延续多久?
- Java的辉煌 还能延续多久?
- Java的辉煌 还能延续多久?
- Java的辉煌 还能延续多久?
- Java的辉煌还能持续多久?
- JAVA的辉煌还能延续多久
- Java的辉煌 还能延续多久?
- Java的辉煌,还能延续多久?
- Hadoop的辉煌还能延续多久?
- Hadoop的辉煌还能延续多久?
- Hadoop的辉煌还能延续多久?
- Hadoop的辉煌还能延续多久?
- Hadoop的辉煌还能延续多久?
- opengl es学习笔记2(着色器补充,示例)
- python os模块学习
- Java读取Properties文件的六种方法 .
- 你真的会用ListView吗?
- spark学习6-spark模拟hive的列转行和行转列
- 模拟下载文件还需要多久的测试demo
- 软件开发项目风险管理的几点体会
- 最长公共子序列定义
- MySQL中join多个表的情况
- 移动开发 细究MVVM
- Android 自定义TextView 实现文字对齐排版且支持点击划词
- https原理及tomcat配置https方法
- Android utc时间
- android 检查网络链接,判断网络链接