C# stream.Write和stream.Read详解
时间: 2024-11-30 18:19:09 浏览: 26
在 C# 中,`Stream` 类代表了一种可以进行输入输出操作的二进制数据源或目标。`Write` 和 `Read` 方法是 `Stream` 类的基础方法,用于向流中写入数据和从流中读取数据。
**Stream.Write()方法:**
`Write()` 方法用于将数据写入到流中。其基本语法如下:
```csharp
public void Write(byte[] buffer, int offset, int count)
```
- `buffer`: 要写入的数据缓冲区。
- `offset`: 开始写入的缓冲区偏移量。
- `count`: 需要写入的字节数。
例如,你可以创建一个文件流,然后写入字符串到其中:
```csharp
FileStream file = new FileStream("output.txt", FileMode.Create);
byte[] bytes = Encoding.UTF8.GetBytes("Hello, World!");
file.Write(bytes, 0, bytes.Length);
file.Close(); // 关闭流
```
**Stream.Read()方法:**
`Read()` 方法则是从流中读取数据,其基本语法如下:
```csharp
public int Read(byte[] buffer, int offset, int count)
```
- `buffer`: 存储读取数据的缓冲区。
- `offset`: 数据开始存储的位置。
- `count`: 预期要读取的字节数。
例如,从文件流中读取数据:
```csharp
FileStream file = File.OpenRead("input.txt");
int bytesRead;
byte[] readBuffer = new byte[1024];
while ((bytesRead = file.Read(readBuffer, 0, readBuffer.Length)) > 0)
{
// 处理读取的数据...
}
file.Close(); // 关闭流
```
这两个方法常用于处理网络传输(如通过 TCP/IP 的 Socket)、文件操作以及其他类型的二进制数据交换。
阅读全文