C# 大文件的復制方法


如何復制讀取大文件,也許困惑了很多人很長時間,這個不知道怎么搞,的確讓人頭疼欲裂,知道了你就才發現原來那么簡單,話不多說,直入正題````

static void Main(string[] args)
        {

            bool b= CopyFile(@"D:\360安全瀏覽器下載\2.avi", @"D:\360安全瀏覽器下載\3.avi");
            if(b)
            {
                Console.WriteLine("復制成功");
            }
            else
            {
                 Console.WriteLine("復制失敗");
            }
            Console.ReadKey();
        }


        /// <summary>
        /// 大文件多次復制文件  true:復制成功   false:復制失敗
        /// </summary>
        /// <param name="soucrePath">原始文件路徑</param>
        /// <param name="targetPath">復制目標文件路徑</param>
        /// <returns></returns>
        public static bool CopyFile(string soucrePath, string targetPath)
        {
            try
            {
                //讀取復制文件流
                using (FileStream fsRead = new FileStream(soucrePath, FileMode.Open, FileAccess.Read))
                {
                    //寫入文件復制流
                    using (FileStream fsWrite = new FileStream(targetPath, FileMode.OpenOrCreate, FileAccess.Write))
                    {
                        byte[] buffer = new byte[1024 * 1024 * 2]; //每次讀取2M
                        //可能文件比較大,要循環讀取,每次讀取2M
                        while (true)
                        {
                            //每次讀取的數據    n:是每次讀取到的實際數據大小
                            int n = fsRead.Read(buffer, 0, buffer.Count());
                            //如果n=0說明讀取的數據為空,已經讀取到最后了,跳出循環
                            if (n == 0)
                            {
                                break;
                            }
                            //寫入每次讀取的實際數據大小
                            fsWrite.Write(buffer, 0, n);
                        }
                    }
                }
                return true;
            }
            catch (System.Exception ex)
            {
                return false;
            }            
        }

其實就是一個方法CopyFile(),調用這個方法就可以了······


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM