我编写了一个简单的实用程序函数来收集一堆文本,这样在几轮之后,我就可以打开文本文件并查看内容。
public static void Accumulate(string text, string path)
{
var file = File.Open(path, FileMode.Append);
using ( var binary = new BinaryWriter(file) )
{
binary.Write(text);
file.Close();
}
}但是,当我使用分隔符分隔每次运行的输出时,它不会生效。例如,我将写入行更改为binary.Write(text + "\n");,然后更改为binary.Write(text , "\n");,并尝试:
binary.Write(text);
binary.Write("\n");
file.Close();但是没有真正的工作,这可能是因为这是一个二进制作者,而不是文字文字作者。对,是这样?
是否要修改这个程序,并在输出之间添加一个新的空行;也就是说,每次写完后跳转到下一行?
另外,我想知道我是否应该使用file.Flush()而不是file.Close(),或者两者都使用?哪一个能确保写作后的正确处理?
发布于 2017-05-23 10:29:05
您应该使用"\r\n"而不是"\n",这样新行就可以工作了。所以请使用这个:
binary.Write(text + "\r\n");发布于 2017-05-23 10:18:58
二进制编写器写入字节,因此您应该使用:
binary.Write (Encoding.UTF8.GetBytes (text + "\n"));https://stackoverflow.com/questions/44131905
复制相似问题