如何将所有文本写成表

时间:2016-03-11 08:33:46

标签: c# file

我有一个特别的问题。我有一个数据表,我想将其数据写入文本文件。为此(我已经在之前的步骤中对待过)我使用了:

DataTable table = MyLibrary.dtRawData;

var fileLines = table
  .AsEnumerable()
  .Select(row => String.Join("  ", row.ItemArray))
  .Where(line => !String.IsNullOrWhiteSpace(line));

try
{
    File.WriteAllLines(filePath, fileLines);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Error");
}

我的问题是WriteAllLines函数似乎总是追加数据,如果文件存在,但我需要的是重写的文件如果已经出现在当前位置。我可以从代码中更改哪些内容,以确保文件被覆盖并且不会附加? 问候。

1 个答案:

答案 0 :(得分:2)

如果现有文件在同一目录中具有相同的名称,System.IO.File.WriteAllLines方法将覆盖现有文件。

如果连续运行以下代码行

System.IO.File.WriteAllLines(@"C:\Users\{user}\Desktop\test.txt", new string[] { "e", "f", "g", "h" });

System.IO.File.WriteAllLines(@"C:\Users\{user}\Desktop\test.txt", new string[] { "a", "b", "c", "d" });

您最终会得到一个包含以下内容的文件:

一个
b
ç
d