BinaryReader.ReadBytes 方法是 .NET Framework 内置的一个方法,可以用来从流中读取指定长度的字节,并将其存储在字节数组中。该方法返回一个字节数组,表示从流中读取的数据。
使用该方法需要先创建一个 BinaryReader 实例,该实例包含了一个可以读取的流。然后可以调用 ReadBytes 方法来读取指定长度的字节。该方法的签名如下:
public virtual byte[] ReadBytes(int count);
其中参数 count 指定要读取的字节数。
需要注意的是,在读取字节数组时,要保证写入流的顺序与读取流的顺序是一致的,否则读取出来的结果可能会出现混乱。
以下是一个示例代码,展示了如何使用 BinaryReader.ReadBytes 方法来读取字节数组:
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 创建一个 MemoryStream 流,并向其中写入数据
MemoryStream stream = new MemoryStream();
byte[] data = new byte[] { 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64 };
stream.Write(data, 0, data.Length);
stream.Position = 0;
// 创建一个 BinaryReader 实例,并将其绑定到 MemoryStream 流上
BinaryReader reader = new BinaryReader(stream);
// 读取 5 个字节到字节数组中
byte[] result = reader.ReadBytes(5);
// 输出结果
foreach (byte b in result)
{
Console.Write("{0} ", b);
}
}
}
上述代码将读取 5 个字节到字节数组中,并将结果输出到控制台上。运行结果如下:
72 101 108 108 111
另一个示例代码如下,该代码读取了一个二进制文件,并将部分数据输出到控制台上:
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 打开一个二进制文件
using (FileStream stream = File.OpenRead("data.bin"))
{
// 创建一个 BinaryReader 实例,并将其绑定到文件流上
BinaryReader reader = new BinaryReader(stream);
// 读取前 4 个字节,并将其解释为 int 类型
int count = reader.ReadInt32();
// 读取接下来的 count 个字节到字节数组中
byte[] data = reader.ReadBytes(count);
// 输出结果
Console.WriteLine("Count: {0}", count);
Console.WriteLine("Data:");
foreach (byte b in data)
{
Console.Write("{0} ", b);
}
}
}
}
上述代码会读取一个名为 "data.bin" 的二进制文件,并将其中前 4 个字节解释为 int 类型。然后根据这个 int 值,读取接下来的 count 个字节到字节数组中。最后将结果输出到控制台上。
以上就是 BinaryReader.ReadBytes 方法的作用与使用方法的完整攻略,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# BinaryReader.ReadBytes – 读取字节数组 - Python技术站