程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 大文件的復制方法,

C# 大文件的復制方法,

編輯:C#入門知識

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(),調用這個方法就可以了······

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved