阅读量:3
在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();
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();
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方法读取自定义数据类型时,需要确保已将该类的类型添加到程序中。
以上就是关于“c# binaryreader如何处理流式数据”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm