zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

c#文件 一个 操作 显示 复制 进度
2023-09-11 14:15:48 时间

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