如果不存在,则创建.txt文件,如果不存在,则追加新行

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

我想创建一个.txt文件并写入它,如果该文件已经存在,我只想附加一些行:

string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
    File.Create(path);
    TextWriter tw = new StreamWriter(path);
    tw.WriteLine("The very first line!");
    tw.Close();
}
else if (File.Exists(path))
{
    TextWriter tw = new StreamWriter(path);
    tw.WriteLine("The next line!");
    tw.Close(); 
}

但是第一行似乎总是被覆盖...我如何避免在同一行上写(我在循环中使用这个)?

我知道这很简单,但我从不用WriteLine方法之前。我对C完全陌生。

提问于
用户回答回答于

else if (File.Exists(path))
{
    using(var tw = new StreamWriter(path, true))
    {
        tw.WriteLine("The next line!");
        tw.Close();
    }
}
用户回答回答于
string path = @"E:\AppServ\Example.txt";
File.AppendAllLines(path, new [] { "The very first line!" });

还请参见File.AppendAllText()。AppendAllLine将为每一行添加一个新行,而不必自己将其放在那里。

如果文件不存在,这两个方法都将创建该文件,因此不必创建该文件。

  • File.AppendAllText
  • File.AppendAllline

扫码关注云+社区