【问题标题】:How do I write to txt file after code executed代码执行后如何写入txt文件
【发布时间】:2017-02-25 06:32:18
【问题描述】:

我在我的项目中添加了一个Groceries.txt 文件,其中包含一个项目列表(例如,常规、面包、2.00、2),它转换为类型、项目、成本、数量。我的项目包含每个类需要执行的代码。我创建了一个Invoice.txt 文件。我希望我的项目文件读取Groceries.txt 文件中的内容运行程序,然后将今天的日期写入Invoice.txt 文件,Groceries.txt 文件中列出的每个项目,列出项目数和总数成本。我将以下代码添加到我的项目中,但我不知道如何将Groceries.txt 文件连接到代码以使其按照我需要的方式执行。关于我如何做到这一点的任何想法:

int counter = 0;
string line;
System.IO.StreamReader file = new System.IO.StreamReader("Groceries.txt");
while ((line = file.ReadLine()) != null)
{
    Console.WriteLine(line);
    counter++;
}

file.Close();

Console.ReadLine();
string[] lines = { "FirstLine", "SecondLine", "ThirdLine" };
System.IO.File.WriteAllLines("Invoice.txt", lines);

【问题讨论】:

  • 用 Groceries.txt 文件更新您的问题!

标签: c# streamreader streamwriter


【解决方案1】:

ReadAllLines() 方法读取您的文本文件并输出一个易于循环和附加内容的字符串数组。

        // read file : Groceries.txt
        string[] groceries = File.ReadAllLines("Groceries.txt");

        // process groceries input
        List<string> invoices = new List<string>();
        foreach(var grocery in groceries)
        {
            invoices.Add(grocery + "," + DateTime.Now.Date);
        }

        // write file :  Invoices.txt
        File.WriteAllLines("Invoices.txt", invoices.ToArray());

【讨论】:

  • 感谢您提供上面的代码 - 这绝对是我所追求的。我将如何在发票文件中写入以下内容。 “杂货给你”、日期和时间(列出一次)、物品数量、物品总成本。
【解决方案2】:

这里是你想做的代码。

static void ReadAndWrite()
{
        string line;
        StreamReader sr = new StreamReader("Groceries.txt");
        StreamWriter sw = new StreamWriter("Invoice.txt");
        line = sr.ReadLine();
        while (line != null)
        {
            sw.WriteLine(line + ", " + DateTime.Now);
            line = sr.ReadLine();
        }
        sr.Close();
        sw.Close();
}

以上代码将从您的 Groceries.txt 文件中读取每一行,并将当前日期和时间写入您的 Invoice.txt 文件。

【讨论】:

  • 我强烈建议您使用using 语句而不是显式调用Close,这样即使遇到异常也会释放资源。我也会给DateTime.Now 打一次电话,而不是每行打一次。 (我怀疑文件中的日期只需要一次,但即使不是,最好在整个文件中保持一致。)
猜你喜欢
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
相关资源
最近更新 更多