在一个java文件中,我调用命令行语句来执行另一个java文件。这就是我正在做的:
List<String> paramsExecute = new ArrayList<String>();
paramsExecute.add("java");
paramsExecute.add("-cp");
paramsExecute.add("input\programs\User_K Program1");
paramsExecute.add("1 2 3");
ProcessBuilder builderExecute = new ProcessBuilder(paramsExecute);
builderExecute.redirectOutput(new File(a.txt));
builderExecute.redirectError(new File(b.txt));
执行其中一个 Java 文件将生成 b.txt,如下所示:
Error: Could not find or load main class 1 2 3
另一个 java 文件正在生成 b.txt,如下所示:
Usage: java [-options] class [args...] ...
但是,当我直接从命令行运行这些语句时,它执行正确。文件夹input\programs\
与以下路径相同src
文件夹。这src
文件夹包含包含 ProcessBuilder 程序的 Java 文件。我已验证 .class 文件是否已正确创建并位于正确的文件夹中。我正在Windows中运行该程序。
任何帮助表示赞赏!
This paramsExecute.add("input\programs\User_K Program1");
被视为单个命令/参数,表示类路径应该等于input\programs\User_K Program1
我想你想使用更像......
paramsExecute.add("input\programs\User_K");
paramsExecute.add("Program1");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)