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

C# 创建与字符串C内容相同的bin文件#,c#,bin,C#,Bin,我想创建一个bin文件,例如file.bin,其内容与字符串变量包含的内容相同。例如,我有string str=“10101”,我想创建str内容到bin文件的转换。转换后,当我打开file.bin时,我希望看到与str:10101相同的内容。我试着这样做: string path = "files/file.bin"; string str = "10101"; File.Create(path); BinaryWriter bwStream = new BinaryWriter(new

我想创建一个bin文件,例如file.bin,其内容与字符串变量包含的内容相同。例如,我有string 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();
string path=“files/file.bin”;
字符串str=“10101”;
创建(路径);
BinaryWriter bwStream=新的BinaryWriter(新文件流(路径,FileMode.Create));
BinaryWriter binWriter=新的BinaryWriter(File.Open(path,FileMode.Create));
对于(int i=0;i
但我有例外

“System.IO.IOException:进程无法访问该文件 “
C:\path..


因为它正在被另一个进程使用。并且很少有例外情况。

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

文件。Create()
使用该文件,请尝试:

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

您会收到错误,因为您要打开文件两次。第二次失败,因为文件已打开

要将字符串写入文件,只需使用:


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

是要写入字符串10101还是要写入实际的二进制表示(即位)?错误是因为您打开了文件两次。只需删除
bwStream
行。@Lloyd我想写字符串10101,所以您基本上想要一个内容为
“10101”
的UTF-16编码文本文件,文件扩展名为
bin
,而不是
txt
?——以及内容(例如)可以换成
“你好,世界!“
或其他任何内容?还要确保文件位于您有写入权限的位置……实际上,OP打开文件流,然后打开写入程序时,该文件正由同一应用程序使用。是的,看到它并修改了答案;)
string path = "files/file.bin";
string str = "10101"; 
File.WriteAllText(path, str);