C#【文件操作篇】复制文件到另一个文件,并显示复制进度

1.Main方法

static void Main(string[] args) {
 string source = @"C:\test1.txt";//源文件路径
 string target = @"C:\text2.txt";//目标文件路径
 float percent = 0;//控制台输出拷贝进度,百分比格式
 CopyFile(source, target, ref percent);//调用拷贝文件的方法
 Console.ReadLine();
}

2.CopyFile方法

static void CopyFile(string source, string target, ref float percent, int bufferSize = 1024 * 1024 * 10) {
    byte[] array = new byte[bufferSize]; //创建缓冲区
    using(FileStream fsRead = File.Open(source, FileMode.Open, FileAccess.Read)) {
        using(FileStream fsWrite = File.Open(target, FileMode.Create, FileAccess.Write)) {
            while (fsRead.Position < fsRead.Length) {
                //读取到文件缓冲区
                int length = fsRead.Read(array, 0, array.Length);
                //从缓冲区写到新文件
                fsWrite.Write(array, 0, length);
                //计算进度
                percent = (float) fsRead.Position / fsRead.Length;
                //输出进度
                Console.WriteLine(percent.ToString("p"));
            }
        }
    }
}

运行结果:
在这里插入图片描述转载出处:
https://www.2cto.com/database/201807/760642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值