0

所以这只是一个想法......假设我想在第一个换行符处将一行插入文件,但我不想将整个文件读入内存。有没有办法将文件逐行读入内存,然后在到达第一个换行符时,插入一行并关闭文件阅读器?

谢谢!

对不起,我的标题/描述中的早期错字

4

2 回答 2

2

您可以一次读取一个字节并截取换行符。然后在那个位置做一个stream.WriteLine()。您必须打开文件进行读+写

编辑:我想过使用 FileStream 对象,但我不确定。现在任何尝试这里提到的建议:http: //social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e5077949-5d23-4d26-a530-6d503745a197

再次编辑:检查How to read and write a file in C#

于 2012-05-18T17:24:12.343 回答
0

尝试以下操作:

using (StreamWriter w = File.AppendText("test.txt"))
{
     w.Write("\r\nTest");
     w.Flush();
     w.Close();
}

更新:

在现有文本文件中插入行(我假设您正在使用文本文件,因为您提到了换行符):没有办法使用文件 I/O API 来执行此操作 - 您必须在第一行之后阅读文本中断,覆盖文件并添加原始尾随文本。

于 2012-05-18T17:20:29.110 回答