使用多线程实现多个文件同步复制功能,并在控制台显示复制的进度,进度以百分比表示

该博客围绕使用多线程实现多个文件同步复制功能展开,要求在控制台以百分比形式显示复制进度。给出了使用Runnable接口和继承Thread两种方式的代码,并提及了运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:使用多线程实现多个文件同步复制功能,并在控制台显示复制的进度,进度以百分比表示。例如:把文件A复制到E盘某文件夹下,在控制台上显示“XXX文件已复制10%”,“XXX文件已复制20%”……“XXX文件已复制100%”,“XXX复制完成!”

代码如下:

1、Runnable接口方式

package com.day505.testdemo.exam;

import java.io.*;
import java.text.DecimalFormat;

public class FileCopy implements Runnable {

    //表示源文件
    public File oldFile;
    //表示目标文件
    public File newFile;

    public FileCopy(String oldFile, String newFile) {
        this.oldFile = new File(oldFile);
        this.newFile = new File(newFile);
    }

    @Override
    public void run() {

        //创建文件输入输出流
        FileInputStream fileInputStream = null;
        FileOutputStream fileOutputStream = null;

        try {
            fileInputStream = new FileInputStream(oldFile);
            fileOutputStream = new FileOutputStream(newFile);

            //声明一个字节数组,将每次读取的数据放入  字节数组的长度自己设定
            //如果要读取的文件中的数据比较少的话,建议设的值小一些,这样可以看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值