复制文件时怎么显示复制进度?c#复制文件时显示复制进度源代码

济南云服务器 2025年7月7日07:24:49C#教程复制文件时怎么显示复制进度?c#复制文件时显示复制进度源代码已关闭评论102阅读模式
复制文件时显示复制文件进度,其实就是用文件流来复制文件,并在每一块文件复制后,用进度条显示文件的复制情况,下面,济南网站建设小编就来为大家介绍,如何通过编写c#源代码实现复制文件显示复制进度?有需要的朋友可以过来参考一下
关键代码:
class Program
{
    static void Main()
    {
        string sourceFilePath = @"C:\path\to\source\file.txt";
        string destinationFilePath = @"C:\path\to\destination\file.txt";

        try
        {
            CopyFileWithProgress(sourceFilePath, destinationFilePath);
        }
        catch (Exception ex)
        {
            Console.WriteLine($"发生错误: {ex.Message}");
        }
    }

    static void CopyFileWithProgress(string sourceFilePath, string destinationFilePath)
    {
        using (FileStream sourceStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read))
        {
            long fileLength = sourceStream.Length;
            using (FileStream destinationStream = new FileStream(destinationFilePath, FileMode.Create, FileAccess.Write))
            {
                byte[] buffer = new byte[1024 * 1024]; // 使用1MB缓冲区
                int bytesRead;
                long totalBytesRead = 0;

                while ((bytesRead = sourceStream.Read(buffer, 0, buffer.Length)) > 0)
                {
                    destinationStream.Write(buffer, 0, bytesRead);
                    totalBytesRead += bytesRead;

                    // 计算并输出百分比进度
                    double progressPercentage = (double)totalBytesRead / fileLength * 100;
                    Console.Write($"\r复制进度: {progressPercentage:F2}%");
                }
                Console.WriteLine(); // 打印完成信息后换行
            }
        }
        Console.WriteLine("文件复制完成!");
    }
}

济南云服务器
  • 本文由 发表于 2025年7月7日07:24:49
  • 转载请务必保留本文链接:http://news.hcsw666.com/2124