2012-08-09 51 views
3

我正在實施一個Windows應用程序,以使我的工作場所的規劃項目更加簡單,並且我在想是否有任何巧妙的方法可以使txt文件構造得非常好。以類似形式寫入到txt

該應用程序確實非常簡單,它所做的幾乎就是給用戶提供一個在文本框中回答的問題。然後問題和答案都發送到一個文件,但它看起來非常俗氣。

例如:

問題?回答!

我想它更是這樣的:

問題?
回答!

問題?
回答!

我也很好奇其他類型的文件,是否有可能使用PDF或MS字與txt相同?

+0

如何使用XML? Linq到XML使它變得非常簡單。 – 2012-08-09 12:35:55

回答

3

您可以使用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文件,這是比較複雜的。這裏有一個問題,StackOverflow上的鏈接有關Word:

How can a Word document be created in C#?

和一個約PDF:

Creating pdf files at runtime in c#

1

對於一個簡單的文本文件,你可以使用

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 interop,要了解visit here

1

我想提的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 

您也可能想使用questionString.Trim()擺脫一個文本文件的前導和尾隨空格(question = question.Trim()),所以「下劃線」效果看起來很好。