【发布时间】:2015-04-30 11:20:58
【问题描述】:
我想创建一个 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: 进程无法访问文件 "
C:\path.."
因为它正在被另一个进程使用.. 还有一些例外。
【问题讨论】:
-
你想写 string 10101 还是你想写实际的二进制表示(即位)?
-
该错误是因为您打开文件两次。只需删除
bwStream行。 -
@Lloyd 我想写字符串 10101
-
所以你基本上想要一个 UTF-16 编码的文本文件,其内容为
"10101",文件扩展名为bin,而不是txt? -- 并且内容(例如)可以换成"hello world!"或其他任何东西?