使用FileStream檔案流實現大檔案的拷貝
阿新 • • 發佈:2018-11-11
using System; using System.Collections.Generic; using System.Text; using System.Linq; using System.Collections; using System.Diagnostics; using System.IO; namespace 練習專用 { class Program { static void Main(string[] args) { //建立讀取檔案的流 using (FileStream fsReader = new FileStream(@"F:\畢設.rar", FileMode.Open)) { //建立寫入檔案的流 using (FileStream fsWriter = new FileStream(@"E:\畢裝置份.rar", FileMode.OpenOrCreate)) { //建立一個5M的緩衝區 byte[] buffers = new byte[1024 * 1024 * 5]; int i = 0; //檔案讀取到緩衝區 while ((i = fsReader.Read(buffers, 0, buffers.Length)) > 0) { //將緩衝區中內容寫入fsWriter流 fsWriter.Write(buffers, 0, i); //顯示進度 long l = fsWriter.Length; double proc = (double)l / fsReader.Length; Console.WriteLine("拷貝進度{0}%", proc * 100); } } } } } }