我有一个包含的测试文件
1,2,3
2,3,4
5,6,7
Run Code Online (Sandbox Code Playgroud)
我想将其插入第一行: A,B,C
所以我得到:
A,B,C
1,2,3
2,3,4
5,6,7
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Jak*_*ake 26
与之前的答案类似,但这说明了如何在最小化内存消耗的同时做您想做的事情.即使您在读/写流中打开它,也无法读取要修改的整个文件,因为您无法"插入"数据.
static void WriteABC(string filename)
{
string tempfile = Path.GetTempFileName();
using (var writer = new StreamWriter(tempfile))
using (var reader = new StreamReader(filename))
{
writer.WriteLine("A,B,C");
while (!reader.EndOfStream)
writer.WriteLine(reader.ReadLine());
}
File.Copy(tempfile, filename, true);
}
Run Code Online (Sandbox Code Playgroud)