Close():關閉BinaryReader對象;
Read():從指定流讀取數據,並將指針遷移,指向下一個字符。
ReadDecimal():從指定流讀取一個十進制數值,並將在流中的位置向前移動16個字節。
ReadByte():從指定流讀取一個字節值,並將在流中的位置向前移動一個字節。
ReadInt16():從指定流讀取兩個字節帶符號整數值,並將在流中的位置向前移動兩個字節。
ReadInt32():從指定流讀取兩個字節帶符號整數值,並將在流中的位置向前移動兩個字節。
ReadString():從指定流讀取字符串,該字符串的前綴為字符串長度,編碼為整數,每次7比特。
BinaryReader類創建對象時必須基於所提供的流文件。
使用BinaryReader類讀取二進制數據實例:
我們使用上節寫入的文本文件
using System; using System.Collections.Generic; using System.IO; using System.Text; public class MyClass { public static void Main() { string path = @"C:\123.txt"; FileStream fs = new FileStream(path, FileMode.Open,FileAccess.Read); BinaryReader br = new BinaryReader(fs); char cha; int num; double doub; string str; try { while (true) { cha = br.ReadChar(); num = br.ReadInt32(); doub = br.ReadDouble(); str = br.ReadString(); Console.WriteLine("{0},{1},{2},{2}", cha, num, doub, str); } } catch (EndOfStreamException e) { Console.WriteLine(e.Message); Console.WriteLine("已經讀到末尾"); } finally { Console.ReadKey(); } } }
我們利用創建的文件作為源文件,創建了FileStream對象,並基於該對象創建了BinaryReader對象,調用BinaryReader對象的讀取文件內容的各個方法,分別讀出源文件中的字符,整型數據,雙精度數據和字符串。由於不確定要遍歷多少次才能讀取文件末尾,出現EndStreamException異常。循環內讀取的數據被輸出到控制台。
來自:https://blog.csdn.net/ycguhang/article/details/8487791