在 C# 开发中,经常需要处理文件的读写操作。除了常见的文本文件外,二进制文件因其高效、紧凑、安全等优势,在游戏开发、配置保存、网络通信等场景中被广泛使用。本文将带你从零开始掌握 BinaryReader 和 BinaryWriter 的基本用法,即使是编程小白也能轻松上手!

BinaryWriter 用于将原始数据类型(如 int、float、string 等)以二进制格式写入流中;而 BinaryReader 则用于从二进制流中按顺序读取这些数据。它们通常配合 FileStream 使用,实现对磁盘文件的直接二进制操作。
这种读写方式比文本格式更节省空间,且避免了字符串解析的开销,是 C# 文件操作 中的重要技能。
下面是一个完整的示例,演示如何将姓名、年龄和工资信息写入一个名为 employee.dat 的二进制文件:
using System;using System.IO;class Program{ static void Main() { string fileName = "employee.dat"; // 使用 using 确保资源自动释放 using (FileStream fs = new FileStream(fileName, FileMode.Create)) using (BinaryWriter writer = new BinaryWriter(fs)) { // 写入字符串、整数和浮点数 writer.Write("张三"); writer.Write(28); writer.Write(12500.50f); Console.WriteLine("数据已成功写入二进制文件!"); } }}注意:这里使用了 using 语句,它能自动调用 Dispose() 方法,确保文件流被正确关闭,这是良好的编程习惯。
读取时必须严格按照写入的顺序进行,否则会得到错误的数据。以下是对应的读取代码:
using System;using System.IO;class Program{ static void Main() { string fileName = "employee.dat"; if (!File.Exists(fileName)) { Console.WriteLine("文件不存在!"); return; } using (FileStream fs = new FileStream(fileName, FileMode.Open)) using (BinaryReader reader = new BinaryReader(fs)) { // 按写入顺序读取 string name = reader.ReadString(); int age = reader.ReadInt32(); float salary = reader.ReadSingle(); Console.WriteLine($"姓名: {name}"); Console.WriteLine($"年龄: {age}"); Console.WriteLine($"工资: {salary:C}"); } }}运行后,你将看到控制台输出原始写入的数据。这说明 C# BinaryReader 成功还原了二进制内容。
using 语句管理流对象,防止资源泄漏。BinaryFormatter,但注意其安全性问题)或手动拆解为基本类型再写入。通过本文,你已经掌握了 C# BinaryWriter 和 BinaryReader 的基本用法,能够完成简单的二进制文件读写任务。这项技能在需要高性能数据存储的场景中非常实用,是每位 C# 开发者应掌握的 二进制文件读写 基础。
赶快动手试试吧!你可以尝试写入多个员工信息,或者保存游戏存档数据,巩固所学知识。
本文由主机测评网于2025-12-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126352.html