2013-11-25 102 views
1

是否可以將控制檯中鍵入的內容保存到文本文件中?如何將控制檯中輸入的內容保存到文本文件中?

我知道如何從文本文件中讀寫,但我想知道如何將在控制檯本身輸入的內容保存到文本文件中。因此,打開一個控制檯,在控制檯本身(黑色控制檯屏幕)中輸入文本,按Enter(或其他),並將其保存到文件中。

我還沒有找到任何工作答案,所以我開始認爲這是不可能的。

在附註上;該控制檯應用程序窗口是否有另一個名稱?或者它實際上叫做控制檯應用程序窗口?

+2

它是一個外部的控制檯應用程序或你的嗎? –

回答

2

我還沒有找到任何工作答案,所以我開始認爲這是不可能的。

你在尋找什麼? Console.ReadLine()返回string,這是很容易appended to a file

using (var writer = new StreamWriter("ConsoleOutput.txt", append: true)) 
{ 
    string line = Console.ReadLine(); 
    writer.WriteLine(line); 
} 

不是所有的問題都解決了完全一樣,你需要在網絡上; (「從控制檯獲取字符串」,「將字符串寫入文件」)和您找到針對您的具體情況的解決方案。


如果這是來自另一個進程讀取輸出,這是How to spawn a process and capture its STDOUT in .NET?重複。

+1

謝謝,這正是我想要的。像往常一樣,答案比我意識到的更加明顯。感謝所有人的快速回復和解釋。 –

1

有不同的方法:

  1. 只需使用Console.ReadLine()這在循環,直到一些特定的符號。同時將行添加到文件流中。
  2. 另一個優雅的解決方案,使用Console.SetOUt方法。看看MSDN的第二個例子。幾乎你所需要的。
0

如果不是外部控制檯窗口,可以使用Console.ReadLine()獲取鍵入的字符串,並通過調用例如文件保存到文件中。 File.WriteAllText,StreamWriter的,...

1

使用此代碼的控制檯輸出重定向到一個文本文件名consoleOut.txt

FileStream filestream = new FileStream("consoleOut.txt", FileMode.Create); 
var streamwriter = new StreamWriter(filestream); 
streamwriter.AutoFlush = true; 
Console.SetOut(streamwriter); 
相關問題