使用多线程实现文件的复制功能,并在控制台显示复制的进度,进度以百分比表示。
来源:互联网 发布:便宜mp3知乎 编辑:程序博客网 时间:2024/04/23 23:43
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.text.DecimalFormat;public class CopyFile extends Thread {public File older;// 源文件路径public File newer;// 复制目标路径public CopyFile(String older, String newer) {this.older = new File(older);this.newer = new File(newer);}@Overridepublic void run() {FileInputStream fis = null;FileOutputStream fos = null;try {fis = new FileInputStream(older);fos = new FileOutputStream(newer);byte[] b = new byte[1024];// 声明一个字节数组,每次读取的数据存到该字节数组里int length = 0;// 返回每次读取的数据长度long len = older.length();// 获取源文件的长度double temp = 0;DecimalFormat df = new DecimalFormat("##%");while ((length = fis.read(b)) != -1) {fos.write(b, 0, length);// 把每次读取的内容,输出到目标路径文件中temp += length;// 把每次读取的数据长度累加double d = temp / len;// 计算出已经读取的长度占文件总长度的比率int jd = (int) d;if (jd % 10 == 0) {System.out.println(older.getName() + "文件复制了:" + df.format(d));}}System.out.println(older.getName() + "复制完毕!");} catch (IOException e) {e.printStackTrace();} finally {try {fis.close();fos.close();} catch (IOException e) {e.printStackTrace();}}}}
、、、、、、
public class Test {public static void main(String[] args) {CopyFile cf1 = new CopyFile("E:\\a.txt", "F:\\a.txt");CopyFile cf2 = new CopyFile("E:\\b.txt", "F:\\b.txt");CopyFile cf3 = new CopyFile("E:\\c.txt", "F:\\c.txt");cf1.start();cf2.start();cf3.start();}}
0 0
- 使用多线程实现文件的复制功能,并在控制台显示复制的进度,进度以百分比表示。
- 使用多线程实现文件的复制功能,并在控制台显示复制的进度,进度以百分比表示。例如:把文件A复制到E盘某文件夹下,在控制台上显示“文件已复制10%”,“文件已复制20%”……“文件已复制100%”,“复制
- 使用Java复制文件并在控制台显示文件进度
- VC实现显示文件复制的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 多线程复制文件显示进度
- C#在进度条中显示复制文件的进度
- 复制文件显示进度
- [懵懂边缘]使用C#在进度条中显示复制文件的进度
- hibernate里事物的相关讲解与介绍
- Github Android优秀工程
- 多边形填充——代码
- PowerDesigner快捷键
- 如何正确的通过命令行安装一个网络打印机
- 使用多线程实现文件的复制功能,并在控制台显示复制的进度,进度以百分比表示。
- Java多线程的方法
- poj2516 Minimum Cost
- 死锁
- IO流之fluse()
- mac 下面安装nginx
- java.io源码阅读笔记(1)
- 页式存储系统 中逻辑地址转物理地址
- 161102