码迷,mamicode.com
首页 > Windows程序 > 详细

C# 大文件的复制方法

时间:2016-07-04 17:11:36      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

如何复制读取大文件,也许困惑了很多人很长时间,这个不知道怎么搞,的确让人头疼欲裂,知道了你就才发现原来那么简单,话不多说,直入正题````

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(),调用这个方法就可以了······

C# 大文件的复制方法

标签:

原文地址:http://www.cnblogs.com/sxw117886/p/5640903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!