C# FileStream復(fù)制大文件
本文實例為大家分享了C# FileStream復(fù)制大文件的具體代碼,供大家參考,具體內(nèi)容如下
即每次復(fù)制文件的一小段,以節(jié)省總內(nèi)存開銷。當(dāng)然,本機(jī)復(fù)制也可以采用.NET內(nèi)部的System.IO.File.Copy方法。
/// <summary> /// 復(fù)制文件 /// </summary> /// <param name="fromFile">要復(fù)制的文件</param> /// <param name="toFile">要保存的位置</param> /// <param name="lengthEachTime">每次復(fù)制的長度</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)//如果分段拷貝,即每次拷貝內(nèi)容小于文件總長度 { 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//如果整體拷貝,即每次拷貝內(nèi)容大于文件總長度 { 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(); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- c# 文件操作(移動,復(fù)制,重命名)
- C#中使用FilleStream實現(xiàn)視頻文件的復(fù)制功能
- C# FileStream實現(xiàn)大文件復(fù)制
- C#使用FileStream復(fù)制一個任意文件
- C#實現(xiàn)文件夾的復(fù)制和刪除
- C# 復(fù)制與刪除文件的實現(xiàn)方法
- C#程序中創(chuàng)建、復(fù)制、移動、刪除文件或文件夾的示例
- C#將文件復(fù)制到指定文件夾并整理
- C#進(jìn)行文件讀寫、創(chuàng)建、復(fù)制、移動、刪除的方法
- C# 對文件與文件夾的操作包括刪除、移動與復(fù)制
- C#實現(xiàn)文件Move和Copy操作
相關(guān)文章
C#不提升自己程序的權(quán)限實現(xiàn)操作注冊表
這篇文章主要介紹了C#不提升自己程序的權(quán)限實現(xiàn)操作注冊表的相關(guān)資料,需要的朋友可以參考下2022-12-12C#/VB.NET讀取條碼類型及條碼在圖片中的坐標(biāo)位置實例
我們在創(chuàng)建條形碼時,如果以圖片的方式將創(chuàng)建好的條碼保存到指定文件夾路徑,可以在程序中直接加載圖片使用;已生成的條碼圖片,需要通過讀取圖片中的條碼信息,如條碼類型、條碼繪制區(qū)域在圖片中的四個頂點(diǎn)坐標(biāo)位置等,可參考本文中的方法2023-10-10C#?利用Autofac批量接口注入依賴的問題小結(jié)
這篇文章主要介紹了C#?利用Autofac批量接口注入依賴的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12C#/VB.NET實現(xiàn)在Word文檔中添加頁眉和頁腳
頁眉位于文檔中每個頁面的頂部區(qū)域,常用于顯示文檔的附加信息;頁腳位于文檔中每個頁面的底部的區(qū)域,常用于顯示文檔的附加信息。今天這篇文章就將為大家展示如何以編程的方式在在?Word?文檔中添加頁眉和頁腳2023-03-03基于C#實現(xiàn)一個最簡單的HTTP服務(wù)器實例
這篇文章主要介紹了基于C#實現(xiàn)一個最簡單的HTTP服務(wù)器的方法,詳細(xì)分析了http服務(wù)器的實現(xiàn)原理與相關(guān)技巧,以及對應(yīng)的注意事項,需要的朋友可以參考下2014-12-12C#?Winform消息通知系統(tǒng)托盤氣泡提示框ToolTip控件
這篇文章主要為大家介紹了C#或Winform中的消息通知之系統(tǒng)托盤的氣泡提示框窗口(系統(tǒng)toast通知)、ToolTip控件和ToolTipText屬性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08