百分比进度= 每次读写的长度 *100/需要复制文件总长度

下载文件计算百分比进度同理

  public void copyFile(String oldPath, String newPath, FileProgress fileProgress) {try {int bytesum = 0;int byteread = 0;File oldfile = new File(oldPath);File newFile = new File(newPath);if (newFile.exists()) {newFile.delete();}if (!newFile.exists()) {newFile.createNewFile();}if (oldfile.exists()) { //文件存在时InputStream inStream = new FileInputStream(oldPath); //读入原文件FileOutputStream fs = new FileOutputStream(newPath);byte[] buffer = new byte[1444];long length = oldfile.length();fileProgress.start();while ((byteread = inStream.read(buffer)) != -1) {bytesum += byteread; //字节数 文件大小//i=已复制文件百分比进度;bytesum = 每次读写的累加的长度;length =需要复制文件的总长度long i = bytesum * 100 / length;System.out.println("百分比进度" + i);fs.write(buffer, 0, byteread);fileProgress.running(i);}inStream.close();}fileProgress.stop(newPath);} catch (Exception e) {System.out.println("复制单个文件操作出错");e.printStackTrace();fileProgress.error(e);}}interface FileProgress {void start();//开始回调void running(long i);//进度百分比void stop(String filePath);//成功后文件的路径void error(Exception e);//错误信息}

使用:上面封装的方法没有做回调判空处理,传null给回调参数会崩。回调参数一定要传。不传的去封装的方法加个判空,异常记得补个finally关掉流不然会泄露

copyFile("需要复制文件的路径", "复制到哪里的路径", new FileProgress() {@Overridepublic void start() {//开始复制时的回调}@Overridepublic void running(int i) {//复制过程中的回调 i=百分比进度}@Overridepublic void stop(String filePath) {//完成时的回调}@Overridepublic void error(Exception e) {//出错时的回调}});

JAVA 文件下载复制百分比进度计算公式相关推荐

  1. Java文件下载,HTML进度条实时刷新进度

    效果展示 实现原理 1:后台同步进程开始下载文件 2:前台使用遮罩效果,使页面不能点击,使用circliful进度条插件(插件源码见后) 3:页面使用JavaScript定时器发送ajax请求刷新进度 ...

  2. java控制台输出百分比进度条示例

    System.out.print("\b") 会在控制台下往回删掉一个字符,如果你想回删多个字符就打印多个 "\b" public static void ma ...

  3. java上传文件限速_【面试题目】Java文件下载(限速、进度条)

    import javax.swing.*; import java.io.FileOutputStream; import java.io.IOException; import java.io.In ...

  4. java如何画百分比圆环_canvas绘制旋转的圆环百分比进度条

    作者:依然 |  时间:2015-05-29 |  阅读:122 canvas绘制旋转的圆环百分比进度条 从上一篇的文章使用HTML5 Canvas arc()绘制圆形/圆环 我们了解到了怎么使用ca ...

  5. YCProgress自定义百分比进度条

    目录介绍 1.本库优势亮点 2.使用介绍 2.1 圆环百分比进度条 2.2 直线百分比进度条 2.3 仿杀毒类型百分比进度条 3.注意要点 4.效果展示 5.其他介绍 1.本库优势亮点 圆环百分比进度 ...

  6. java饼图_java 百分比饼图的实现代码

    文章介绍了利用jfreechart来实现在java中的百分比饼图效果,有需要的同这可以参考一下. 一个显示百分比的饼图如下 实现代码  代码如下 复制代码 import="org.jfree ...

  7. php 进度条百分比算法,实例讲解Ajax实现简单带百分比进度条

    最近做项目遇到这样的需求要求当进行文件长传保存等操作时,能在页面显示一个带百分比的进度条,给用户一个好的交互体验,下面通过实例代码给大家介绍基于ajax实现带百分比进度条效果,需要的的朋友参考下吧,希 ...

  8. 关于java文件下载文件名乱码问题解决方案

    关于java文件下载文件名乱码问题解决方案 参考文章: (1)关于java文件下载文件名乱码问题解决方案 (2)https://www.cnblogs.com/zhaoyan001/p/9012750 ...

  9. ajax百分比加载特效,jQuery实现的简单百分比进度条效果示例

    本文实例讲述了jQuery实现的简单百分比进度条.分享给大家供大家参考,具体如下: 一.JS Code: var progressId = "ProgressBarID"; fun ...

  10. java 流 复制文件_【Java】使用字节流复制文件

    其实用java程序复制文件并不难 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOE ...

最新文章

  1. android修改xml变量值,Android中XML的基本操作(增、删、改、查)
  2. 辽宁交通高等专科学校有计算机专业吗,辽宁省交通高等专科学校可以转专业吗,辽宁省交通高等专科学校新生转专业政策...
  3. 天梯赛2016-L2
  4. 【AI视野·今日NLP 自然语言处理论文速览 第二十五期】Fri, 1 Oct 2021
  5. 华为 AP 3010 SSH 配置
  6. java LineRecordReader类解析
  7. mongodb update操作
  8. Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
  9. fio性能测试工具新添图形前端gfio
  10. int、String、char、Array之间的转换,这一篇够了!!!
  11. CentOS 7.9安装bpftrace
  12. 如何调整液晶显示器保护你的视力
  13. 使用GBase XDM C API 通常按以下五个步骤
  14. 【JokerのZYNQ7020】INTERRUPT(PL产生,PS处理)。
  15. 基于FPGA的PCIe接口实现(具体讲解了数据流向)
  16. 逻辑漏洞渗透与攻防(六)之其他类型逻辑漏洞
  17. 许奔创新社-第17问:头脑风暴,我从一开始就错了吗?
  18. 岗位来啦-华为研发OD招聘
  19. 2020年终总结——卖公众号赚第一桶金后的心痛
  20. Python绘制三角函数图(sin\cos\tan)并标注特定范围

热门文章

  1. python实现:蚁群算法进行火灾人员疏散路径规划时,疏散人员的速度动态变化
  2. cisco交换机使用命令禁用/开启端口
  3. 1008-2019学习记录(P511-P539)-Java集合
  4. mysql的系统设置_Mysql命令行登录常用设置系统概述
  5. 类似微博大v的文字居中,v根据文字字数而改变做法
  6. Python字母计数
  7. python中统计单词出现的次数_python统计文本中每个单词出现的次数
  8. ctfshow web 488,489(偶尔更新)
  9. DB2 v9.7的安装卸载(RHE 5.4)
  10. 使用java查看自己的电脑的cpu个数