4

我需要构建一个接受管道作为输入的简单控制台应用程序。我们正在运行 Windows Server 2012。数据来自另一个将“管道”输入到该应用程序的应用程序。我从 Linux 的角度了解管道,但从 Windows 的角度来看不太了解它们。

我最好的猜测是我需要像这样向我的应用程序发送输入:C:\app.exe < test.txt

当使用 '<' 字符时,我目前的理解是它将 test.txt 转换为流并传入一个指针。

我的问题是,谁能给我一个如何接收流指针的例子,或者在我的应用程序中与窗口中的管道等效的东西,以便我可以读取输入?

4

1 回答 1

5

当您使用应用程序时,标准输入<>输出流(屏幕/键盘界面)被文件流替换。

您可以使用常规Console.ReadConsole.ReadLine命令从指令指定的流中读取<,或者使用Console.Inwhich is a TextReader.

类似地Console.Write,andConsole.WriteLine可用于写入>指令指定的输出流,或者Console.OutTextWriter.

|例如,如果使用管道指令,myapp.exe | sort则第一个程序的输出流进入下一个程序的输入流。

于 2013-03-20T14:08:02.243 回答