[C#.NET][VB.NET] 如何 分割 / 合併檔案

[C#.NET][VB.NET] 如何 分割 / 合併檔案

[C#.NET][VB.NET]如何 讀寫 二進位 圖檔

[C#.NET][VB.NET] 使用 BufferedStream 複製檔案

[C#.NET][VB.NET] 如何 比對兩個檔案內容 是否相同

相信前幾篇的練習已經讓我們熟悉二進位檔案的操作,本篇再練習一個檔案分割的實例,利用我們學到的二進位切割 / 合併檔案,以下範例將切割Excel檔案。

分割的流程很簡單,主要是將我們的原始"檔讀到陣列"→"依欲切割檔案大小分別寫到另一個檔案",流程大致上就兩步。如下圖。

分割

利用FileStream.Read方法批次讀入資料至BinaryData內

我們由下圖觀察BinaryData的變化,可以發現每次BinaryData讀檔的內容都不一樣。

2009-10-30 下午 01-55-01

 

 

 

程式執行後會在專案中的SplitFiles資料得到以下資料。你會發現分割的每一個檔案都是相同的大小,其實上述的程式並未把空的檔尾資料過濾掉,所以檔尾資料都被塞0進去了,所以你會發現最後一個檔案竟然跟前面的檔案一樣大,那是因為程式邏輯所引起的,懶的再改了,期待有緣人來改。

2009-10-30 下午 02-04-31

合併的處理也是讀檔再寫檔,邏輯上基本上是差不多的,也是讀檔→寫檔

2009-10-30 下午 02-08-23

 

完成後便會看到合併的檔案出現在專案中的Target資料夾內,檢查一下檔案內容是否與Source資料夾的Excel檔案相同。

 

PS.因為Excel很大所以我把它壓縮了,要執行前記得解壓縮,檔案在Source資料夾內。

範例下載:

VB_SplitFile.rar

CS_SplitFile.rar

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo