创建与字符串 C# 内容相同的 bin 文件

Creating the same bin file as content of string C#

我想创建一个 bin 文件,例如 file.bin,其内容与字符串变量包含的内容相同。例如,我有字符串 str="10101",我想将 str 的内容转换为 bin 文件。转换后,当我打开 file.bin 时,我想看到与 str: 10101 相同的内容。我尝试通过这种方式来实现:

string path = "files/file.bin";

string str = "10101"; 

File.Create(path);
BinaryWriter bwStream = new BinaryWriter(new FileStream(path, FileMode.Create));
BinaryWriter binWriter = new BinaryWriter(File.Open(path, FileMode.Create));
for (int i = 0; i < str.Length; i++)
{
    binWriter.Write(str[i]);
}
binWriter.Close();

但我得到了像

这样的异常

"System.IO.IOException: The process can not access the file "C:\path.."

因为它正被另一个进程使用..还有一些异常。

您尝试访问的 path/file 已被其他应用程序使用。关闭 can/has 打开您正在创建的文件 file.bin 的所有应用程序,然后关闭代码。它应该工作。你可以删除bwStream变量行,如果没有其他应用是运行.

File.Create() 使用文件,尝试:

File.Create(path).Dispose();
BinaryWriter bwStream = new BinaryWriter(File.Open(path, FileMode.Append, FileAccess.Write, FileShare.ReadWrite));

您收到错误消息是因为您打开文件两次。第二次失败,因为文件已经打开。

要将字符串写入文件,您只需使用 File.WriteAllText method:

string path = "files/file.bin";
string str = "10101"; 
File.WriteAllText(path, str);

注意:字符串写入文件时编码为utf-8。