0

我有一个依赖于参数列表来完成工作的 java 程序。现在我想在 windows 或 linux 上进行单元测试。所以我只想将参数从文本文件中输入程序。无需更改程序中的任何内容。甚至可能吗?

就像是:

java MyProgram **-arg "test.txt"**

或者

java MyProgram **< test.txt**

或者

java MyProgram **type text.txt**

所有加粗的东西当然是我编造的,不起作用,但现在我想我的意思很清楚了。

4

3 回答 3

0

你不能将你的文件作为参数传递,然后在你的程序中处理它吗?如果你没问题

您可以按如下方式运行您的程序

java yourclass argfilenamewithpath
于 2013-10-07T08:00:50.147 回答
0

man xargs

xargs 从标准输入中读取项目,由空格(可以用双引号或单引号或反斜杠保护)或换行符分隔,并执行命令(默认为 /bin/echo)一次或多次,后跟任何初始参数通过从标准输入读取的项目。

所以你可以做

cat test.txt | xargs java MyProgram
于 2013-10-07T06:37:16.717 回答
0

对于 Linux:

PROGRAM="java MyProgram"`cat test.txt`
执行$程序

我认为,对于 Windows 来说它必须是类似的东西

于 2013-10-06T19:39:32.797 回答