C#中二进制文件的读写
时间: 2023-11-29 15:45:39 浏览: 36
C#中二进制文件的读写可以使用FileStream和BinaryWriter/BinaryReader类来实现。具体步骤如下:
1.写入二进制文件
```csharp
// 定义一个自定义类
[Serializable]
public class MyClass
{
public int a;
public string b;
public double c;
}
// 创建一个MyClass对象
MyClass myClass = new MyClass();
myClass.a = 123;
myClass.b = "abc";
myClass.c = 3.14;
// 创建一个FileStream对象,指定文件路径和打开方式
FileStream fileStream = new FileStream(@"D:\myClass.bin", FileMode.Create);
// 创建一个BinaryWriter对象,将FileStream对象作为参数传入
BinaryWriter binaryWriter = new BinaryWriter(fileStream);
// 使用Write方法将MyClass对象写入二进制文件
binaryWriter.Write(myClass.a);
binaryWriter.Write(myClass.b);
binaryWriter.Write(myClass.c);
// 关闭BinaryWriter和FileStream对象
binaryWriter.Close();
fileStream.Close();
```
2.读取二进制文件
```csharp
// 创建一个FileStream对象,指定文件路径和打开方式
FileStream fileStream = new FileStream(@"D:\myClass.bin", FileMode.Open);
// 创建一个BinaryReader对象,将FileStream对象作为参数传入
BinaryReader binaryReader = new BinaryReader(fileStream);
// 从二进制文件中读取数据,并赋值给MyClass对象
MyClass myClass = new MyClass();
myClass.a = binaryReader.ReadInt32();
myClass.b = binaryReader.ReadString();
myClass.c = binaryReader.ReadDouble();
// 输出MyClass对象的属性值
Console.WriteLine(myClass.a);
Console.WriteLine(myClass.b);
Console.WriteLine(myClass.c);
// 关闭BinaryReader和FileStream对象
binaryReader.Close();
fileStream.Close();
```