首页  > 教育解读  > 怎么把文件存为二进制

怎么把文件存为二进制

2025-05-01 08:57:26
赵老师
赵老师已认证

赵老师为您分享以下优质知识

将文件保存为二进制格式可以通过多种方式实现,具体方法取决于所使用的编程语言和场景。以下是常见的实现方式及示例代码:

一、使用 `FileStream`(适用于 .NET 环境)

在 .NET 中,`FileStream` 提供了以二进制模式读写文件的功能。

示例:将文本文件保存为二进制

```csharp

using System;

using System.IO;

class Program

{

static void Main()

{

string filePath = "example.txt";

byte[] data = System.Text.Encoding.UTF8.GetBytes("Hello, Binary!");

using (FileStream file = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None))

{

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

}

Console.WriteLine("文件已保存为二进制格式");

}

}

```

二、使用 `BinaryFormatter`(适用于 .NET 环境)

`BinaryFormatter` 可以序列化对象并保存为二进制文件,适用于复杂数据结构的存储。

示例:序列化对象到二进制文件

```csharp

using System;

using System.IO;

using System.Runtime.Serialization.Formatters.Binary;

[Serializable]

class Customer

{

public string Name { get; set; }

public double Amount { get; set; }

}

class Program

{

static void Main()

{

Customer customer = new Customer { Name = "张三", Amount = 123.45 };

string filePath = "customer.dat";

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

{

BinaryFormatter formatter = new BinaryFormatter();

formatter.Serialize(file, customer);

}

Console.WriteLine("对象已序列化到二进制文件");

}

}

```

三、使用 `File.WriteAllBytes`(简化操作)

对于简单的二进制数据,可以使用 `File.WriteAllBytes` 方法直接写入文件。

示例:写入基本数据类型到二进制文件

```csharp

using System;

class Program

{

static void Main()

{

double[] data = { 65.0, 3.14159, 9.999999, 4.7E-8 };

string filePath = "data.bin";

try

{

File.WriteAllBytes(filePath, data);

Console.WriteLine("数据已写入二进制文件");

}

catch (Exception ex)

{

Console.WriteLine($"错误: {ex.Message}");

}

}

}

```

四、使用 C++ 的 `fstream` 库(适用于 C++ 环境)

在 C++ 中,通过 `ofstream` 以二进制模式写入文件。

示例:写入结构体到二进制文件

```cpp

include

include

include

struct Customer {

std::string name;

double amount;

};

int main() {

Customer customer = {"李四", 250.50};

std::ofstream outFile("customer.bin", std::ios::binary);

if (!outFile) {

std::cerr