【问题标题】:Creating and saving a text file on a server every day through a C# console application每天通过 C# 控制台应用程序在服务器上创建和保存文本文件
【发布时间】:2015-11-10 06:06:05
【问题描述】:

我开发了一个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 作为目标并创建一个文件。

如果有更好的方法,我可以知道吗?

【问题讨论】:

    标签: c# ftp windows-server-2003


    【解决方案1】:

    虽然这可能更像是一个代码审查问题而不是堆栈溢出......

    就个人而言,我不会对生成的文件名进行硬编码,而是将其作为参数,所以如果你必须移动它,那很好,不需要重新编码。您可以考虑将文件通过 FTP 传输到服务器,但是,您可能会进入安全存储用户名和密码的领域,但这是一个考虑因素。

    【讨论】:

    • 谢谢,是的,我将文件名作为参数并在调用函数时传递它,我只是在问题中对其进行了硬编码
    猜你喜欢
    • 2018-02-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多