【问题标题】:Write to txt in a 'form-like' manner [closed]以“类似形式”的方式写入 txt [关闭]
【发布时间】:2012-08-06 16:28:07
【问题描述】:

我正在实施一个 Windows 应用程序,以便在我的工作场所更轻松地规划项目,我想知道是否有任何巧妙的方法可以使 txt 文件结构良好。

该应用程序非常简单,它所做的几乎就是向用户提出一个问题,该问题在下面的文本框中得到回答。然后问题和答案都会发送到一个文件中,但看起来很俗气。

例子:

问题?回答!问题?回答!

我希望它更像这样:

问题?
回答!

问题?
回答!

我也很好奇其他类型的文件,能不能像txt一样使用pdf或者ms word?

【问题讨论】:

  • 使用 XML 怎么样? Linq to XML 让它变得非常简单。

标签: c#


【解决方案1】:

您可以使用File.AppendAllLines() 并将不同的字符串作为数组传递。它们将在文本文件中显示为单独的行。您还需要在文件顶部添加using System.IO

例如:

// Ensure file exists before we write
if (!File.Exists("<YOUR_FILE_PATH>.txt"))
{
    using (File.CreateText("<YOUR_FILE_PATH>.txt")) {}
}

File.AppendAllLines("<YOUR_FILE_PATH>.txt", new string[] {
    "Question1",
    "Answer1",
    "Question2",
    "Answer2",
    "Question3",
    "Answer3"
});

我希望这就是你所追求的 - 这个问题有点含糊。

对于 Word 和 PDF 文件,这更复杂。这是关于 Word 的 StackOverflow 问题的链接:

How can a Word document be created in C#?

还有一个关于 PDF 的:

Creating pdf files at runtime in c#

【讨论】:

    【解决方案2】:

    我想提一下String.Format 函数。

    假设,你有你的字符串questionanswer,你可以做一些

    using (var stream = new StreamWriter('myfile.txt', true)) // append=true
      stream.Write(String.Format("\n{0}\n{1}\n\n{2}\n", 
                                 question, 
                                 new String('=',question.Length), 
                                 answer);
    

    获取类似的文本文件

    Question 1
    ==========
    Answer
    
    Second Question
    ===============
    Answer
    

    您可能还想在 question 上使用 String.Trim() 来消除前导和尾随空格 (question = question.Trim()),因此“下划线”效果看起来不错。

    【讨论】:

      【解决方案3】:

      对于一个简单的文本文件,您可以使用

      StringBuilder fileData = new StringBuilder();
      fileData.AppendLine("Question: blah! blah! blah! blah!");
      fileData.AppendLine("Answer: blah! blah! blah! blah!");
      
      FileStream fs = new FileStream("yourFile.txt", FileMode.Create);
      StreamWriter sw = new StreamWriter(fs);
      sw.Write(fileData.ToString());
      sw.Flush();
      fs.Flush();
      fs.Close();
      

      但当然它不会给你那种粗体问题的味道,因为你必须使用其他东西,

      喜欢 MS Word 互操作,了解 visit here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-25
        • 1970-01-01
        • 2011-07-11
        相关资源
        最近更新 更多