我有一个解决方案,读取文件名的命令行并阅读其内容。我才意识到,这将是整齐的,如果该文件的内容Main(String[] args)
得到安置为args
输入我能去的如何将C#中的文件内容直接导入参数?
c:\MyReader.exe < text.txt
代替
c:\MyReader.exe text.txt
。它是可行的还是我将不得不解析该文件?
我有一个解决方案,读取文件名的命令行并阅读其内容。我才意识到,这将是整齐的,如果该文件的内容Main(String[] args)
得到安置为args
输入我能去的如何将C#中的文件内容直接导入参数?
c:\MyReader.exe < text.txt
代替
c:\MyReader.exe text.txt
。它是可行的还是我将不得不解析该文件?
这不会把内容放入args
,而是redirect it to standard input所以Console.Read
方法会从文件而不是键盘读取。
正如你无疑发现,重定向不起作用。能够完成你想要实现的功能取决于shell解释器的功能。你几乎可以肯定地写一个批处理文件,它可以做你想做的,但你也可以把它作为自己程序的一个特性,而不是依赖批处理文件。
public static Main(String[] args) {
if (args.Length >= 2 && args[0] == "/args") {
args = File.ReadAllText(args[1]).Split(' ');
}
...
}
如果你的启动程序是这样的:
c:\MyReader.exe /args text.txt
参数将从text.txt
服用;如果你的程序是这样启动的:
c:\MyReader.exe param1 param2 param3
那么参数就是通过命令行传递的参数。