我用C#编写/读取文件文本。
我的方法是:
public static void Save(List<DTOSaveFromFile> Items)
{
File.WriteAllLines(dataPath, (from i in Items select i.Serialize()).ToArray(), Encoding.Default);
}
这总是覆盖数据,只插入1行。 如何插入许多行,并且不要在行之前覆盖。
答案 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;