在c#中,我可以使用流写入器/读取器写入/读取的文本数量是否有限制?

本文关键字:读取 文本 是否 有限制 我可以 可以使 | 更新日期: 2023-09-27 18:06:57

我正在尝试使用流写入器写入一些文本文件。我想写的文本是来自一个不同的文本文件。

我试一试:

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#中,我可以用流写入器/读取器写入/读取的文本数量是否有限制?

同时,我也在询问一些关于如何成功复制所有文本的建议。(我读到有一个流类的方法副本,但这是为。net 4,所以它没有帮助)。

编辑:我试图用一个文本形式的开头来替换末尾没有复制的文本。我也有同样的问题,所以这不是角色的问题。

在c#中,我可以使用流写入器/读取器写入/读取的文本数量是否有限制?

嗯。可能你没有冲洗你的小溪。尝试执行sw.Autoflush=true;或者,在关闭sw之前,调用sw. flush ();

我猜您没有在输出流上调用flush。这将导致最后几行(有时很多行)不被写入输出文件。