gpt4 book ai didi

java - 在带有 2 个可执行文件的 Runtime.getRuntime().exec 中有空格

转载 作者:搜寻专家 更新时间:2023-10-30 21:05:20 25 4
gpt4 key购买 nike

我有一个命令需要在 java 中按照这些行运行:

    C:\path\that has\spaces\plink -arg1 foo -arg2 bar "path/on/remote/machine/iperf -arg3 hello -arg4 world"

当路径没有空格时,这个命令工作正常,但是当我有空格时,我似乎无法让它工作。我尝试了以下操作,运行 Java 1.7

String[] a = "C:\path\that has\spaces\plink", "-arg1 foo", "-arg2 bar", "path/on/remote/machine/iperf -arg3 hello -arg4 world"
Runtime.getRuntime().exec(a);

还有

String[] a = "C:\path\that has\spaces\plink", "-arg1 foo", "-arg2 bar", "path/on/remote/machine/iperf", "-arg3 hello", "-arg4 world"
Runtime.getRuntime().exec(a);

但似乎两者都没有做任何事情。对我做错了什么有什么想法吗??

最佳答案

您传递给命令的每个参数都应该是一个单独的字符串元素。

所以你命令数组应该看起来更像...

String[] a = new String[] {
"C:\path\that has\spaces\plink",
"-arg1",
"foo",
"-arg2",
"bar",
"path/on/remote/machine/iperf -arg3 hello -arg4 world"};

现在每个元素都将在程序 args 变量中显示为单独的元素

我也非常鼓励您使用 ProcessBuilder相反,因为它更容易配置并且不需要您将一些命令包装在 "\"...\""

关于java - 在带有 2 个可执行文件的 Runtime.getRuntime().exec 中有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com