是否可以将控制台中键入的内容保存到文本文件中?
我知道如何从文本文件中写入和读取,但我想知道如何将控制台本身输入的内容保存到文本文件中。
因此,打开控制台,在控制台本身(黑色控制台屏幕)中键入文本,按Enter键(或其他内容),然后将其保存到文件中。
我没有找到任何有效的答案,所以我开始认为这是不可能的。
旁注;是否有该控制台应用程序窗口的另一个名称?或者它实际上是否称为控制台应用程序窗口?
答案 0 :(得分: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)
有不同的方法:
Console.ReadLine()
直到某个特定符号。同时将行添加到文件流中。 Console.SetOUt
方法的优雅解决方案。请查看 MSDN 中的第二个示例。几乎你需要什么。 答案 2 :(得分:1)
使用此代码将控制台输出重定向到名为consoleOut.txt
FileStream filestream = new FileStream("consoleOut.txt", FileMode.Create);
var streamwriter = new StreamWriter(filestream);
streamwriter.AutoFlush = true;
Console.SetOut(streamwriter);
答案 3 :(得分:0)
如果它不是外部控制台窗口,您可以使用Console.ReadLine()获取键入的字符串并通过调用例如将其保存到文件中。 File.WriteAllText,StreamWriter,...