首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从C#中的标准输入读取

从C#中的标准输入读取
EN

Stack Overflow用户
提问于 2016-01-20 06:21:24
回答 2查看 10.1K关注 0票数 0

我正在尝试从C#中的命令提示符读入一个文本文件,通过

代码语言:javascript
运行
复制
program.exe < textfile.txt 

然而,我找不到正确的方法来做到这一点。

到目前为止,我只能将路径和文件名传递给string [] args,然后使用StreamReader类打开文件。虽然这是一种可以接受的替代方法,但有人告诉我,带"<“的方法提供了不需要文件处理等优点。

有人能对此有一些见解吗?

编辑: Program.exe是我的C#应用程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-20 06:39:17

您的想法是正确的- '<‘符号表示console类从您指定的文件读取,而不是从控制台读取用户输入。当您这样做时,您将使用Console class读取它。

从STDIN读取的优点是,用户可以作为program.exe运行程序,并手动键入程序所需的输入,也可以作为program.exe < input.txt运行程序。唯一的缺点是,如果您知道您将始终提供一个文件,并考虑过多地键入'<‘符号的工作量...

票数 2
EN

Stack Overflow用户

发布于 2016-01-20 06:39:18

在命令提示符中,<符号是几个重定向操作符之一。具体地说,<符号是输入重定向操作符。当您键入以下内容:program.exe < textfile.txt时,您是在告诉命令提示符执行program.exe并从文件中读取命令输入,而不是从键盘读取输入。通过这种方式,命令提示符基本上打开textfile.txt并获取其内容并将其“填充”到键盘缓冲区中,因此,就program.exe而言,输入是从键盘读取的,并不知道您实际上是在使用文件中的内容“填充”键盘缓冲区。

如果您的程序当前正在读取文件,则需要修改您的程序。您不再希望从文件读取,而是使用Console.ReadLineConsole.ReadConsole.ReadKey等命令从键盘读取。

就优势而言,优势微乎其微。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34888073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档