[C#.NET][VB.NET]如何 讀寫 二進位 圖檔
[VB.NET] [C#.NET] 二進位讀寫器 BinaryReader類別 / BinaryWriter類別 有提到的二進位讀寫的方法,仍自覺不足,以下則整理出幾個方法。
1.在讀寫二進位檔時,設計師可以依當時情況決定要一次讀寫或是分批讀寫資料。
2.讀寫資料時可以使用MemoryStream類別及BufferedStream類別來處理暫存的資料。[VB.NET][C#.NET] MemoryStream / BufferedStream 類別
3.使用串流類別可以直接讀取寫入的資料,若是使用OpenWrite方法寫資料,必須要先Close後資料才會真的寫到實體檔案,MemoryStream類別及BufferedStream類別則可以直接取用,千萬不要把Close的順序弄錯了。
4.開始前需要匯入System.IO 命名空間
如何分批讀檔
下圖是將讀到的資料直接寫到記憶體。
除了寫到記憶體之外,也可以直接寫到實體檔案,但別忘了使用Close方法資料才會存檔。
而使用BufferedStream類別必須搭MemoryStream類別才能逐部寫入,不知是我寫法有誤還是還有其它方法?
也可以一次寫入到BufferedStream類別
如何一次讀入二進制檔
若無分批讀檔須求則可一次讀入陣列,再將陣列轉成MemoryStream類別,以供Image 類別使用
當然也可以不用透過MemoryStream類別直接轉成Image也可以,
使用File 類別的ReadAllBytes 方法,將陣列一次讀入,再轉成Image 類別所需的格式。
使用File 類別的WriteAllBytes方法,寫入實體檔。
使用BinaryWriter 類別的BinaryWriter.Write 方法,寫入實體檔案。
範例下載
以上若有錯誤煩請先進不吝惜告知。
另已得知BufferedStream類別的用法請參考,[C#.NET][VB.NET] 使用 BufferedStream 複製檔案。
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET