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

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

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

我想创建一个.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

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问8 回答
  • 浮生长恨欢娱少

    个人站长 · 站长 (已认证)

    51 粉丝2 提问4 回答
  • 滑稽园扛把子

    Swoole Inc · PHP工程师 (已认证)

    135 粉丝0 提问4 回答
  • 13火麒麟

    0 粉丝0 提问4 回答

扫码关注云+社区