java - 执行 Runtime.getRuntime().exec(),参数之间留有空格

标签 java runtime executable

祝所有专家美好的一天,

希望对我这个小问题有一些建议。

我尝试执行以下语法,同时将参数 testcase1testdata1testresult 传递给 jar_filepathtctest_datatest_result 分别

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

但是执行时出现如下错误: 错误:无法访问 jarfile C:\TestAutomation\Jar\Test1.jartestcase1testdata1testresult2,其中未应用所有参数的空间。

希望就编写在 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);

关于java - 执行 Runtime.getRuntime().exec(),参数之间留有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39036002/

相关文章:

java - 如何使用 spring boot websocket 发送二进制文件?

c++ - ARM WINCE应用,反黑客解决方案

java - windows中的bat文件转换为osx中的自动化脚本

java - 用反射实现工厂模式

java - 尝试使 Nashorn 线程安全

java - Android Padding 不影响布局

java - 需要削减给定数字的运行时查找除数

c# - 使用嵌入式(托管)IronPython 为 C# 应用程序分发 DLR 运行时

plugins - Gradle project.sourceSets.main.runtimeClasspath始终为空