How to make a file copy progress in C#
By FoxLearn 2/20/2024 6:34:33 AM 195
To implement file copy progress in C#, you can use the File.Copy method along with FileStream to read from the source file and write to the destination file while monitoring the progress.
You can achieve this by reading and writing chunks of data at a time and updating the progress accordingly.
This example shows how you can copy a file with progress tracking:
using System; using System.IO; class Program { static void Main(string[] args) { string sourceFilePath = @"C:\path\to\source\file.txt"; string destinationFilePath = @"C:\path\to\destination\file.txt"; CopyFileWithProgress(sourceFilePath, destinationFilePath); Console.WriteLine("File copy completed."); } //c# file copy progress static void CopyFileWithProgress(string sourceFilePath, string destinationFilePath) { const int bufferSize = 8192; // 8 KB buffer size, you can adjust it as per your requirement using (var sourceStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read)) using (var destinationStream = new FileStream(destinationFilePath, FileMode.Create, FileAccess.Write)) { byte[] buffer = new byte[bufferSize]; int bytesRead; long totalBytesCopied = 0; long fileSize = sourceStream.Length; while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) > 0) { destinationStream.Write(buffer, 0, bytesRead); totalBytesCopied += bytesRead; // Calculate progress double progress = (double)totalBytesCopied / fileSize * 100; Console.WriteLine($"Progress: {progress:F2}%"); } } } }
- We open the source file and destination file using FileStream
.
- We read from the source file in chunks and write those chunks to the destination file until we've read the entire file.
- We calculate the progress by comparing the total bytes copied with the total file size and print the progress to the console.
You can adjust the buffer size according to your requirements and even implement a progress bar or update a UI if you are working with a graphical application.
- How to Read data from Google Sheet in C# using HttpRequest without Speadsheet API
- How to set DataSource for RDLC Report using Report Viewer in C#
- How to Change report in ReportViewer at runtime in C#
- C# Tutorial
- How to Create overlay modal popup in C#
- How to check if file exists on Server in C#
- How to encrypt a password in C#
- How to read excel file in C#
Categories
Popular Posts
How to implement Jint in C#
09/14/2024
How to Download Chromedriver for Selenium
09/14/2024