我正在尝试通过C#中的命令提示符读取文本文件,通过
program.exe < textfile.txt
但是,我找不到正确的方法。
到目前为止,我只能将路径和文件名传递给string [] args,然后使用StreamReader类打开文件。虽然这是一个可接受的替代方案,但我被告知使用“&lt;”的方法,我认为它是标准输入的重定向,提供了诸如不需要文件处理等优点。
任何人都可以对此有所了解吗?
编辑:Program.exe是我的C#应用程序。
答案 0 :(得分:2)
你有正确的想法 - '&lt;' symbol表示Console类从您指定的文件中读取,而不是从控制台读取用户输入。执行此操作时,您可以使用Console class。
进行阅读从STDIN读取的优点是用户可以将程序作为program.exe
运行,并手动输入程序所期望的输入,或者可以将其作为program.exe < input.txt
运行。这是一个不利的唯一一次,如果你知道你将永远提供一个文件,并考虑输入'&lt;'的努力符号太多......
答案 1 :(得分:2)
在命令提示符中,<
符号是多个重定向运算符之一。具体来说,<
符号是输入重定向运算符。当您键入:program.exe < textfile.txt
时,您告诉命令提示符执行program.exe
并从文件中读取命令输入,而不是从键盘读取输入。通过这种方式,命令提示符基本上打开textfile.txt
并将其内容和“填充它”放入键盘缓冲区,因此,就program.exe
而言,输入是从键盘读取的,不知道你实际上是在用文件中的内容“填充”键盘缓冲区。
如果您的程序当前正在从文件中读取,则需要修改您的程序。您不再希望从文件中读取数据,而是使用Console.ReadLine或Console.Read或Console.ReadKey等命令从键盘读取。
就优势而言,优势很小。