如何在文本文件中写入多行?

时间:2015-12-29 10:05:51

标签: c#

我用C#编写/读取文件文本。

我的方法是:

public static void Save(List<DTOSaveFromFile> Items)
{
    File.WriteAllLines(dataPath, (from i in Items select i.Serialize()).ToArray(), Encoding.Default);
}

这总是覆盖数据,只插入1行。 如何插入许多行,并且不要在行之前覆盖。

2 个答案:

答案 0 :(得分:1)

尝试File.AppendAllLines方法:

public static void Save(List<DTOSaveFromFile> Items)
{
    File.AppendAllLines(dataPath, (from i in Items select i.Serialize()).ToArray(), Encoding.Default);
}

来自MSDN:

  

将行追加到文件中,然后关闭文件。

因此,这将阻止文件被覆盖。

答案 1 :(得分:0)

试试这个

&#xA;&#xA;
  public static void Save(List&lt; DTOSaveFromFile&gt; Items)&#xA; {&#xA;使用(StreamWriter sw = File.AppendText(path))&#xA; {&#XA; foreach(DTOSaveFromFile d in Items)&#xA; sw.WriteLine(d.Serialize(),Encoding.Default);&#xA; }&#XA;}&#XA;  
&#XA;