创建与字符串 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。
我想创建一个 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。