在C#中,使用BinaryReader
類可以方便地處理流式數據。BinaryReader
是從System.IO
命名空間中提供的,用于從二進制流中讀取基本數據類型和自定義數據類型。以下是如何使用BinaryReader
處理流式數據的一些示例:
using System;
using System.IO;
class Program
{
static void Main()
{
// 創建一個FileStream對象,指向要讀取的文件
using (FileStream fileStream = new FileStream("example.bin", FileMode.Open, FileAccess.Read))
{
// 創建一個BinaryReader對象,用于讀取文件中的數據
using (BinaryReader binaryReader = new BinaryReader(fileStream))
{
// 讀取基本數據類型
int intValue = binaryReader.ReadInt32();
float floatValue = binaryReader.ReadSingle();
double doubleValue = binaryReader.ReadDouble();
char charValue = binaryReader.ReadChar();
bool boolValue = binaryReader.ReadBoolean();
// 讀取字符串
string stringValue = binaryReader.ReadString();
// 讀取自定義數據類型(假設有一個名為MyClass的類)
MyClass myClass = binaryReader.ReadObject<MyClass>();
Console.WriteLine($"Int Value: {intValue}");
Console.WriteLine($"Float Value: {floatValue}");
Console.WriteLine($"Double Value: {doubleValue}");
Console.WriteLine($"Char Value: {charValue}");
Console.WriteLine($"Boolean Value: {boolValue}");
Console.WriteLine($"String Value: {stringValue}");
Console.WriteLine($"MyClass Value: {myClass}");
}
}
}
}
using System;
using System.IO;
class Program
{
static void Main()
{
// 創建一個字節數組
byte[] byteArray = new byte[] { 1, 2, 3, 4, 5 };
// 創建一個MemoryStream對象,指向字節數組
using (MemoryStream memoryStream = new MemoryStream(byteArray))
{
// 創建一個BinaryReader對象,用于讀取字節數組中的數據
using (BinaryReader binaryReader = new BinaryReader(memoryStream))
{
// 讀取基本數據類型
int intValue = binaryReader.ReadInt32();
float floatValue = binaryReader.ReadSingle();
double doubleValue = binaryReader.ReadDouble();
char charValue = binaryReader.ReadChar();
bool boolValue = binaryReader.ReadBoolean();
// 讀取字符串
string stringValue = binaryReader.ReadString();
// 讀取自定義數據類型(假設有一個名為MyClass的類)
MyClass myClass = binaryReader.ReadObject<MyClass>();
Console.WriteLine($"Int Value: {intValue}");
Console.WriteLine($"Float Value: {floatValue}");
Console.WriteLine($"Double Value: {doubleValue}");
Console.WriteLine($"Char Value: {charValue}");
Console.WriteLine($"Boolean Value: {boolValue}");
Console.WriteLine($"String Value: {stringValue}");
Console.WriteLine($"MyClass Value: {myClass}");
}
}
}
}
在這些示例中,我們首先創建了一個FileStream
或MemoryStream
對象,然后使用BinaryReader
對象從流中讀取基本數據類型和自定義數據類型。注意,當使用BinaryReader.ReadObject<T>
方法讀取自定義數據類型時,需要確保已將該類的類型添加到程序中。