我正在尝试从C#中的命令提示符读入一个文本文件,通过
program.exe < textfile.txt
然而,我找不到正确的方法来做到这一点。
到目前为止,我只能将路径和文件名传递给string [] args,然后使用StreamReader类打开文件。虽然这是一种可以接受的替代方法,但有人告诉我,带"<“的方法提供了不需要文件处理等优点。
有人能对此有一些见解吗?
编辑: Program.exe是我的C#应用程序。
发布于 2016-01-19 22:39:17
您的想法是正确的- '<‘符号表示console类从您指定的文件读取,而不是从控制台读取用户输入。当您这样做时,您将使用Console class读取它。
从STDIN读取的优点是,用户可以作为program.exe
运行程序,并手动键入程序所需的输入,也可以作为program.exe < input.txt
运行程序。唯一的缺点是,如果您知道您将始终提供一个文件,并考虑过多地键入'<‘符号的工作量...
发布于 2016-01-19 22:39:18
在命令提示符中,<
符号是几个重定向操作符之一。具体地说,<
符号是输入重定向操作符。当您键入以下内容:program.exe < textfile.txt
时,您是在告诉命令提示符执行program.exe
并从文件中读取命令输入,而不是从键盘读取输入。通过这种方式,命令提示符基本上打开textfile.txt
并获取其内容并将其“填充”到键盘缓冲区中,因此,就program.exe
而言,输入是从键盘读取的,并不知道您实际上是在使用文件中的内容“填充”键盘缓冲区。
如果您的程序当前正在读取文件,则需要修改您的程序。您不再希望从文件读取,而是使用Console.ReadLine、Console.Read或Console.ReadKey等命令从键盘读取。
就优势而言,优势微乎其微。
https://stackoverflow.com/questions/34888073
复制相似问题