C# 中如何进行二进制文件的读写?

· 约 4 分钟读完 · 第 60 / 183 章

推荐答案

在C#中,可以使用FileStream类结合BinaryReader和BinaryWriter类来进行二进制文件的读写操作。以下是一个简单的示例代码:

本题详细解读

1. 写入二进制文件

  • FileStream:FileStream类用于打开或创建文件。在写入文件时,我们使用FileMode.Create模式,这会创建一个新文件,如果文件已存在则覆盖它。

  • BinaryWriter:BinaryWriter类提供了写入二进制数据的方法。它可以将基本数据类型(如int、double、string等)写入到流中。

  • 写入数据:使用BinaryWriter的Write方法,可以依次写入不同类型的数据。例如,writer.Write(123)写入一个整数,writer.Write(45.67)写入一个双精度浮点数,writer.Write("Hello, World!")写入一个字符串。

2. 读取二进制文件

  • FileStream:在读取文件时,我们使用FileMode.Open模式来打开文件。

  • BinaryReader:BinaryReader类提供了读取二进制数据的方法。它可以从流中读取基本数据类型。

  • 读取数据:使用BinaryReader的相应方法读取数据。例如,reader.ReadInt32()读取一个整数,reader.ReadDouble()读取一个双精度浮点数,reader.ReadString()读取一个字符串。读取顺序必须与写入顺序一致,否则会导致数据读取错误。

3. 注意事项

  • 顺序一致性:读取数据时必须按照写入的顺序进行读取,否则会导致数据解析错误。

  • 资源管理:使用using语句可以确保FileStream、BinaryReader和BinaryWriter在使用完毕后自动释放资源,避免资源泄漏。

  • 异常处理:在实际应用中,建议添加异常处理逻辑,以应对文件不存在、权限不足等异常情况。