每天通过 C# 控制台应用程序在服务器上创建和保存一个文本文件
Creating and saving a text file on a server every day through a C# console application
我开发了一个 C# console application
,我将其安排在每天早上运行的 windows 服务器上,并在 C drive
中名为 FTP
的文件夹中创建了一个文本文件服务器的一些数据从 SQL server
检索,一些外部用户将使用 FTP
访问此文件。我使用了以下代码
FileStream fs = File.Create("test.txt");
int i = 0;
StreamWriter sw = null;
sw = new StreamWriter("C:\FTP\test.txt", false);
for (i = 0; i < dtlist.Columns.Count - 1; i++)
{
sw.Write(dtlist.Columns[i].ColumnName + "\t");
}
sw.Write(dtlist.Columns[i].ColumnName);
sw.WriteLine();
foreach (DataRow row in dtlist.Rows)
{
object[] array = row.ItemArray;
for (i = 0; i < array.Length - 1; i++)
{
sw.Write(array[i].ToString() + "\t");
}
sw.Write(array[i].ToString());
sw.WriteLine();
}
sw.Close();
正如我们所看到的,当我在服务器本身上安排此应用程序时,我已经直接给出了服务器上的文件路径,我想知道这是否是正确的方法,或者我是否应该更好地使用服务器地址 10.0.0.10
作为目标并创建一个文件。
请问有更好的方法吗?
虽然这可能更像是一个代码审查问题而不是堆栈溢出...
就个人而言,我不会对结果文件名进行硬编码,而是将其作为参数,因此如果您必须移动它,那很好,不需要重新编码。您可以考虑 FTP 将文件发送到服务器,但是,您可能会进入安全存储用户名和密码的领域,但这是一个考虑因素。
我开发了一个 C# console application
,我将其安排在每天早上运行的 windows 服务器上,并在 C drive
中名为 FTP
的文件夹中创建了一个文本文件服务器的一些数据从 SQL server
检索,一些外部用户将使用 FTP
访问此文件。我使用了以下代码
FileStream fs = File.Create("test.txt");
int i = 0;
StreamWriter sw = null;
sw = new StreamWriter("C:\FTP\test.txt", false);
for (i = 0; i < dtlist.Columns.Count - 1; i++)
{
sw.Write(dtlist.Columns[i].ColumnName + "\t");
}
sw.Write(dtlist.Columns[i].ColumnName);
sw.WriteLine();
foreach (DataRow row in dtlist.Rows)
{
object[] array = row.ItemArray;
for (i = 0; i < array.Length - 1; i++)
{
sw.Write(array[i].ToString() + "\t");
}
sw.Write(array[i].ToString());
sw.WriteLine();
}
sw.Close();
正如我们所看到的,当我在服务器本身上安排此应用程序时,我已经直接给出了服务器上的文件路径,我想知道这是否是正确的方法,或者我是否应该更好地使用服务器地址 10.0.0.10
作为目标并创建一个文件。
请问有更好的方法吗?
虽然这可能更像是一个代码审查问题而不是堆栈溢出...
就个人而言,我不会对结果文件名进行硬编码,而是将其作为参数,因此如果您必须移动它,那很好,不需要重新编码。您可以考虑 FTP 将文件发送到服务器,但是,您可能会进入安全存储用户名和密码的领域,但这是一个考虑因素。