C#读写二进制文件流
时间: 2024-08-14 12:00:46 浏览: 92
在C#中,读写二进制文件流通常涉及到对字节数据的操作,这在处理图像、音频等非文本文件时非常有用。C#提供了一系列内置的类来帮助完成这样的任务,主要包括`System.IO.BinaryReader` 和 `System.IO.BinaryWriter`。
### 1. 使用BinaryReader读取二进制文件
`BinaryReader`类允许您从二进制文件中读取各种类型的值,如整数、浮点数和字符串。以下是一个简单的示例:
```csharp
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.bin"; // 文件路径
using (FileStream fs = new FileStream(filePath, FileMode.Open)) {
BinaryReader br = new BinaryReader(fs);
int number = br.ReadInt32(); // 读取4字节整数
float floatNumber = br.ReadSingle(); // 读取4字节浮点数
byte[] dataBytes = br.ReadBytes(5); // 读取5个字节
Console.WriteLine($"Read integer: {number}");
Console.WriteLine($"Read single: {floatNumber}");
Console.WriteLine("Data bytes read:");
foreach(byte b in dataBytes) {
Console.Write($"{b} ");
}
}
}
}
```
### 2. 使用BinaryWriter写入二进制文件
同样地,`BinaryWriter`类可以用于将不同类型的数据写入到二进制文件中:
```csharp
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.bin";
using (FileStream fs = new FileStream(filePath, FileMode.Create)) {
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(10); // 写入一个整数
bw.Write(3.14f); // 写入一个浮点数
bw.Write(new byte[]{1, 2, 3}); // 写入一组字节
Console.WriteLine("Data written to file.");
}
}
}
```
###
阅读全文