所以这只是一个想法......假设我想在第一个换行符处将一行插入文件,但我不想将整个文件读入内存。有没有办法将文件逐行读入内存,然后在到达第一个换行符时,插入一行并关闭文件阅读器?
谢谢!
对不起,我的标题/描述中的早期错字
所以这只是一个想法......假设我想在第一个换行符处将一行插入文件,但我不想将整个文件读入内存。有没有办法将文件逐行读入内存,然后在到达第一个换行符时,插入一行并关闭文件阅读器?
谢谢!
对不起,我的标题/描述中的早期错字
您可以一次读取一个字节并截取换行符。然后在那个位置做一个stream.WriteLine()。您必须打开文件进行读+写
编辑:我想过使用 FileStream 对象,但我不确定。现在任何尝试这里提到的建议:http: //social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e5077949-5d23-4d26-a530-6d503745a197
尝试以下操作:
using (StreamWriter w = File.AppendText("test.txt"))
{
w.Write("\r\nTest");
w.Flush();
w.Close();
}
更新:
在现有文本文件中插入行(我假设您正在使用文本文件,因为您提到了换行符):没有办法使用文件 I/O API 来执行此操作 - 您必须在第一行之后阅读文本中断,覆盖文件并添加原始尾随文本。