C# BinaryReader reader = new BinaryReader(stream) 读取服务器发过来的字节数组
时间: 2024-09-29 08:02:09 浏览: 15
在C#中,当你通过网络流(例如`NetworkStream`或`MemoryStream`)接收来自服务器的数据,并且数据是以字节数组的形式,你可以使用`BinaryReader`类来逐字节读取。`BinaryReader`允许你在二进制模式下方便地读取数据,包括整数、浮点数、字符串等。
以下是使用`BinaryReader`读取字节数组的步骤:
```csharp
// 假设你已经有一个 NetworkStream stream 或 MemoryStream stream
using (var binaryReader = new BinaryReader(stream))
{
byte[] receivedBytes = binaryReader.ReadBytes(预期长度); // 可能需要先确定总长度
string decodedData = Encoding.UTF8.GetString(receivedBytes); // 如果数据是文本,使用相应的编码解码
// 现在你可以处理 decodedData,比如打印或进一步解析
Console.WriteLine("Received Data: " + decodedData);
// 关闭BinaryReader以释放资源
binaryReader.Close();
}
```
在这个例子中,`binaryReader.ReadBytes()`方法会一次性读取指定长度的字节数到新的数组中。如果数据是非文本格式(如图像或二进制文件),则不需要解码,直接处理字节数组即可。