1. 程式人生 > >使用FileStream檔案流實現大檔案的拷貝

使用FileStream檔案流實現大檔案的拷貝

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);
                    }
                }
            }
        }
    }
}