我是编程新手,我正在尝试使用将数据导出到txt的方法,首先是一种用于导出Header的方法,然后是另一种用于导出Data的方法。问题在于每次调用Streamwriter都会替换文件上的数据。
我还没有找到一种方法让StreamWriter继续在同一个文件上写入,而不是替换其中的内容,谢谢您看代码:
static void exportData<T>(string[,] matrix)
{
var dir = "";
do
{
Console.Clear();
Console.Write("Insert path to export txt: ");
dir = Console.ReadLine();
} while (String.IsNullOrEmpty(dir));
var path = Path.Combine(dir, "export.txt");
exportHeader<T>(matrix,path);
using (StreamWriter sw = File.CreateText(path))
{
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1) - 1; j++)
{
{
sw.Write($"\t{matrix[i, j]}\t");
}
}
sw.WriteLine();
}
}
}
private static string GetHeader<T>(int i) => Enum.GetName(typeof(T), i);
static void exportHeader<T>(string[,] matrix, string path)
{
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine(new string('-', 159));
for (int i = 0; i < matrix.GetLength(1); i++)
{
sw.Write($"{GetHeader<T>(i).ToUpper()}|");
}
sw.WriteLine();
sw.WriteLine(new string('-', 159));
}
}
enum ClientHeader { Id, Name, Surname, Addres, CodPostal, Telephone, Email, State };