【问题标题】:Why is the following array not writing to a file? [duplicate]为什么以下数组不写入文件? [复制]
【发布时间】:2016-02-28 13:57:17
【问题描述】:

我不明白为什么输出文件不包含任何文本? 为什么数组不写入文件?运行时我没有收到任何错误..

    Console.Write("Please enter a name for the homework: ");
    hmwk[1].name = Console.ReadLine();
    Console.Write("Please enter the subject: ");
    hmwk[1].type = Console.ReadLine();

redo:
    Console.Write("Please enter the date the homework was set xx/xx/xx: ");
    string toconvert = Console.ReadLine();
    DateTime temp;
    if (DateTime.TryParse(toconvert, out temp)== false)
    {
        goto redo;
    }

    DateTime converted = DateTime.Parse(toconvert);
    hmwk[1].dateset = converted;

redo2:
    Console.Write("Please enter the date the homework deadline is: ");
    toconvert = Console.ReadLine();
    if (DateTime.TryParse(toconvert, out temp) == false)
    {
        goto redo2;
    }
    converted = DateTime.Parse(toconvert);
    hmwk[1].deadline = converted;
    StreamWriter outfile = new StreamWriter("homework.txt", false);
    outfile.WriteLine(hmwk[1].name);
    outfile.WriteLine(hmwk[1].type);
    outfile.WriteLine(hmwk[1].dateset);
    outfile.WriteLine(hmwk[1].deadline);

    Console.WriteLine("You have added the homework. Press Enter.");

【问题讨论】:

标签: c#


【解决方案1】:

这可能是因为它不是flushed。您应该Dispose() StreamWriter 以便它会自动将缓冲的数据刷新到文件中。使用using 处理示例:

using (StreamWriter outfile = new StreamWriter("homework.txt", false)) 
{
    outfile.WriteLine(hmwk[1].name);
    outfile.WriteLine(hmwk[1].type);
    outfile.WriteLine(hmwk[1].dateset);
    outfile.WriteLine(hmwk[1].deadline);
}

【讨论】:

  • 正是我想要的,谢谢。
猜你喜欢
  • 2017-07-12
  • 2021-08-16
  • 2015-10-24
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
相关资源
最近更新 更多