在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 = https://www.yisu.com/ask/binaryReader.ReadInt32();>(); 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 = https://www.yisu.com/ask/binaryReader.ReadInt32();>(); 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
方法读取自定义数据类型时,需要确保已将该类的类型添加到程序中。