当前位置:首页 教育解读 数学应用 c#如何保存二进制文件

c#如何保存二进制文件

发布时间:2025-05-21 20:08:53

在C中保存二进制文件主要有以下两种常见方法,具体选择取决于数据类型和需求:

一、使用 `BinaryFormatter` 进行对象序列化存储

c#如何保存二进制文件

适用于保存自定义类对象、结构体或数组等复杂数据类型,支持直接将内存实体转换为二进制文件,读取时反序列化还原对象。

示例代码:

```csharp

using System;

using System.IO;

using System.Runtime.Serialization.Formatters.Binary;

[Serializable]

public class Struct

{

public string a { get; set; }

public string b { get; set; }

public int s { get; set; }

}

public class BinaryStorage

{

private static BinaryFormatter formatter = new BinaryFormatter();

public void Save(Struct obj, string filePath)

{

using (FileStream fs = new FileStream(filePath, FileMode.Create))

{

formatter.Serialize(fs, obj);

}

}

public Struct Load(string filePath)

{

using (FileStream fs = new FileStream(filePath, FileMode.Open))

{

return (Struct) formatter.Deserialize(fs);

}

}

}

```

c#如何保存二进制文件

二、使用 `FileStream` 和 `BinaryWriter` 进行原始二进制数据存储

适用于保存图像、音频等非结构化数据,或需要直接操作二进制流的情况。

示例代码:

```csharp

using System;

using System.IO;

public class BinaryFileHandler

{

public void Save(byte[] data, string filePath)

{

using (FileStream fs = new FileStream(filePath, FileMode.Create))

{

fs.Write(data, 0, data.Length);

}

}

public byte[] Load(string filePath)

{

using (FileStream fs = new FileStream(filePath, FileMode.Open))

{

return new byte[fs.Length];

}

}

}

```

三、注意事项

c#如何保存二进制文件

序列化安全性:

`BinaryFormatter` 存在安全风险,建议使用更安全的替代方案(如 `Json.NET` 或 `MessagePack`)。

文件路径管理:

使用 `SaveFileDialog` 和 `OpenFileDialog` 等控件选择文件路径,避免路径冲突。

异常处理:

实际应用中需添加 `try-catch` 块处理文件操作异常。

以上方法可根据具体需求选择,复杂对象推荐序列化,原始数据推荐二进制流操作。

温馨提示:
本文【c#如何保存二进制文件】由作者 做最好的自己 提供。 该文观点仅代表作者本人, 学习笔 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
本站内容仅供参考,本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright © All Right Reserved
粤ICP备15053566号-4