如何在文本文件的第一行插入行?

Gol*_*old 14 c#

我有一个包含的测试文件

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)

  • 太棒了,但我想知道,我们应该在最后使用 'File.Delete(tempfile)' 还是让系统清理它更好? (2认同)