执行 Runtime.getRuntime().exec() 并在其参数之间设置 space

Executing Runtime.getRuntime().exec() with space between its arguements

各位专家大家好,

希望对我的这个小问题多多指教

我试图在将参数 testcase1testdata1testresult 传递给 jar_filepathtc、[=17 时执行以下语法=]和test_result分别

Runtime.getRuntime().exec("cmd /c start cmd /k java -jar "+jar_filepath + tc + test_data + test_result);

但是执行的时候出现如下错误: Error: Unable to access jarfile C:\TestAutomation\Jar\Test1.jartestcase1testdata1testresult2 未应用所有参数的 space。

希望就在 exec() 级别编写执行代码的正确方法提出建议。

提前致谢。

您的方法不会在参数前添加空格。看起来像这样:

Runtime.getRuntime().exec("cmd /c start cmd /k java -jar "
    + jar_filepath + " " + tc + " " + test_data + " " + test_result);

但是如果你使用 String[] 这是自动完成的:

String[] command = {
    "cmd /c start",
    "cmd /k java -jar " + jar_filepath,
    tc,
    test_data,
    test_result
};

Runtime.getRuntime().exec(comand);