国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# FileStream復制大文件

2020-01-24 00:05:33
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C# FileStream復制大文件的具體代碼,供大家參考,具體內容如下

即每次復制文件的一小段,以節省總內存開銷。當然,本機復制也可以采用.NET內部的System.IO.File.Copy方法。

/// <summary>/// 復制文件/// </summary>/// <param name="fromFile">要復制的文件</param>/// <param name="toFile">要保存的位置</param> /// <param name="lengthEachTime">每次復制的長度</param>    private void CopyFile(string fromFile, string toFile, int lengthEachTime)    {      FileStream fileToCopy = new FileStream(fromFile, FileMode.Open, FileAccess.Read);      FileStream copyToFile = new FileStream(toFile, FileMode.Append, FileAccess.Write);      int lengthToCopy;      if (lengthEachTime < fileToCopy.Length)//如果分段拷貝,即每次拷貝內容小于文件總長度      {        byte[] buffer = new byte[lengthEachTime];        int copied = 0;        while (copied <= ((int)fileToCopy.Length - lengthEachTime))//拷貝主體部分        {          lengthToCopy = fileToCopy.Read(buffer, 0, lengthEachTime);          fileToCopy.Flush();          copyToFile.Write(buffer, 0, lengthEachTime);          copyToFile.Flush();          copyToFile.Position = fileToCopy.Position;          copied += lengthToCopy;        }        int left = (int)fileToCopy.Length - copied;//拷貝剩余部分        lengthToCopy = fileToCopy.Read(buffer, 0, left);        fileToCopy.Flush();        copyToFile.Write(buffer, 0, left);        copyToFile.Flush();      }      else//如果整體拷貝,即每次拷貝內容大于文件總長度      {        byte[] buffer = new byte[fileToCopy.Length];        fileToCopy.Read(buffer,0,(int)fileToCopy.Length);        fileToCopy.Flush();        copyToFile.Write(buffer, 0, (int)fileToCopy.Length);        copyToFile.Flush();      }      fileToCopy.Close();      copyToFile.Close();    }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乃东县| 长垣县| 宣化县| 三江| 泊头市| 平山县| 沁阳市| 来凤县| 屯昌县| 武穴市| 长海县| 凤凰县| 陇南市| 尉犁县| 德昌县| 新密市| 阜新市| 清水河县| 无棣县| 修文县| 井冈山市| 阿坝| 钦州市| 靖州| 收藏| 乌拉特前旗| 十堰市| 江津市| 德昌县| 八宿县| 镇安县| 莎车县| 泗阳县| 东辽县| 财经| 民权县| 万州区| 资源县| 遵义县| 湘乡市| 广州市|