我正在尝试使用流编写器写入某个文本文件。 我试写的文字是来自不同的文本文件。
我试试:
string line = reader.ReadLine(); //reader is a streamReader I defined before
while (line != null)
{
sw.WriteLine(line); //sw is a streamWriter I defined before
line = reader.ReadLine();
}
我也尝试过:
while (!(reader.EndOfStream))
{
sw.WriteLine(reader.ReadLine()); //sw is a streamWriter I defined before
}
这两个方法成功地将文本从文件复制到另一个文件,但由于某些原因,并非所有文本都被复制。 我试图复制的文本文件非常大,大约96000行,并且只复制了~95000个第一行。
因此,我问我在C#中使用流编写器/阅读器可以写入/读取的文本数量是否有限制?
另外,我要求提供一些关于如何成功复制所有文本的建议。 (我读到有一个Stream类的方法副本,但这适用于.NET4,所以它不会帮助。)
编辑:我尝试将文本中未复制的文本替换为复制的开头。我遇到了同样的问题,所以对于角色来说这不是问题。
答案 0 :(得分:3)
嗯。可能你没有冲洗你的流。尝试做sw.Autoflush = true;或者,在关闭sw之前,请调用sw.Flush();
答案 1 :(得分:0)
我猜你没有在输出流上调用flush。这将导致最后几行(有时很多)不能写入输出文件。