C#使用BinaryReader類讀取二進制文件


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM