[C#.NET][VB.NET] 如何 分割 / 合併檔案
[C#.NET][VB.NET] 使用 BufferedStream 複製檔案
[C#.NET][VB.NET] 如何 比對兩個檔案內容 是否相同
相信前幾篇的練習已經讓我們熟悉二進位檔案的操作,本篇再練習一個檔案分割的實例,利用我們學到的二進位切割 / 合併檔案,以下範例將切割Excel檔案。
分割的流程很簡單,主要是將我們的原始"檔讀到陣列"→"依欲切割檔案大小分別寫到另一個檔案",流程大致上就兩步。如下圖。
利用FileStream.Read方法批次讀入資料至BinaryData內
我們由下圖觀察BinaryData的變化,可以發現每次BinaryData讀檔的內容都不一樣。
程式執行後會在專案中的SplitFiles資料得到以下資料。你會發現分割的每一個檔案都是相同的大小,其實上述的程式並未把空的檔尾資料過濾掉,所以檔尾資料都被塞0進去了,所以你會發現最後一個檔案竟然跟前面的檔案一樣大,那是因為程式邏輯所引起的,懶的再改了,期待有緣人來改。
合併的處理也是讀檔再寫檔,邏輯上基本上是差不多的,也是讀檔→寫檔
完成後便會看到合併的檔案出現在專案中的Target資料夾內,檢查一下檔案內容是否與Source資料夾的Excel檔案相同。
PS.因為Excel很大所以我把它壓縮了,要執行前記得解壓縮,檔案在Source資料夾內。
範例下載:
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET