Q
捕获控制台流输入
4
A
回答
4
您必须使用管道(|
)将dir
的输出传送到应用程序中。您在示例中使用的重定向(>
)将中继文件Application.exe
并在那里写入dir
命令的输出,从而破坏您的应用程序。
读取从控制台的数据,你必须使用Console.ReadLine方法,例如:
using System;
public class Example
{
public static void Main()
{
string line;
do {
line = Console.ReadLine();
if (line != null)
Console.WriteLine("Something.... " + line);
} while (line != null);
}
}
+0
Arrrggg ...管道而不是重定向...你有钥匙... – vIceBerg 2010-10-06 15:09:40
3
使用控制台。 Read/ReadLine从标准输入流中读取。
或者,您可以通过Console.In直接访问流(作为TextReader)。
0
这真的取决于你想要做什么,你要使用什么类型的流。据推测,你正在讨论阅读文本流(基于“该应用程序读取每一行......”)。因此,你可以做这样的事情:
using (System.IO.StreamReader sr = new System.IO.StreamReader(inputStream))
{
string line;
while (!string.IsNullOrEmpty(line = sr.ReadLine()))
{
// do whatever you need to with the line
}
}
你的inputStream将获得型System.IO.Stream的(像的FileStream,例如)。
1
的一个练习,在窗口的应用程序添加或任何其他类型的集成是如下:
static public void test()
{
System.Diagnostics.Process cmd = new System.Diagnostics.Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
/* execute "dir" */
cmd.StandardInput.WriteLine("dir");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
string line;
int i = 0;
do
{
line = cmd.StandardOutput.ReadLine();
i++;
if (line != null)
Console.WriteLine("Line " +i.ToString()+" -- "+ line);
} while (line != null);
}
static void Main(string[] args)
{
test();
}
相关问题
- 1. 捕捉控制台输入输出
- 2. 在TestNG中捕获控制台输出?
- 3. xUnit.net不捕获控制台输出
- 4. 捕获未写入标准输出stderr的控制台输出?
- 5. 捕获jquery按键输入并登录到控制台
- 6. 捕获焦点键盘输入C#控制台程序
- 7. 将Python标准输入流更改为Windows控制台输入
- 8. 在控制台中输入输入
- 9. 获取控制台输出
- 10. java控制台输入
- 11. 输入值在控制台
- 12. QtCreator 2.4.1控制台输入
- 13. 标准控制台输入
- 14. 捕获控制台出口C#
- 15. 捕获进程的所有控制台
- 16. 控制台输出流的类型
- 17. 如何使用控制台输出捕获警告?
- 18. 试图在c#中捕获python程序的控制台输出#
- 19. 同时捕获并显示控制台输出
- 20. 在Visual Studio中捕获控制台应用程序的输出
- 21. 在VS中捕获控制台输出以进行调试?
- 22. 如何从服务C#捕获控制台输出?
- 23. 使用的Process.Start捕获控制台输出
- 24. Python程序捕获控制台输出到文件每10秒
- 25. 以用户类型捕获输入流
- 26. Xcode 6.1控制台输入/输出
- 27. 基本控制台输入和输出
- 28. 如何从jtextArea或JEditorPane获取控制台输入和输出
- 29. 控制台输出
- 30. 是否可以完全捕获Windows控制台应用程序的控制台输出(包括高级操作)?
你究竟有什么困难? – Oded 2010-10-06 15:04:19