1.Main方法
static void Main(string[] args) { string source = @"C:\Users\Administrator\Desktop\test.txt";//源文件路径 string target = @"C:\Users\Administrator\Desktop\text.txt";//目标文件路径 float percent = 0;//控制台输出拷贝进度,百分比格式 CopyFile(source, target, ref percent);//调用拷贝文件的方法 }
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")); } } } }