Gre*_*reg 2 java methods processbuilder
我有一个像下面这样的方法:
public void launch(String cmd, String [] args, String workingDir)
Run Code Online (Sandbox Code Playgroud)
在这个方法中,我调用了ProcessBuilder.
如何调用ProcessBuilder,包括我的args参数中包含的任意数量的args?
例如,像这样:
ProcessBuilder pb = new ProcessBuilder(cmd, args);
Run Code Online (Sandbox Code Playgroud)
我注意到ProcessBuilder确实有这个构造函数:
ProcessBuilder(List<String> command)
Run Code Online (Sandbox Code Playgroud)
也许我可以以某种方式使用它.
ProcessBuilder有一个varargs构造函数 - ProcessBuilder(String... command)所以你可以使用它,但是你需要将你的命令和参数放到一个数组中.
否则,您可以使用其他构造函数,如下所示:
List<String> list = new ArrayList<String>(args.length + 1);
list.add(cmd)
list.addAll(Arrays.asList(args));
ProcessBuilder pb = new ProcessBuilder(list);
Run Code Online (Sandbox Code Playgroud)
怎么样:
public static void launch(String cmd, String[] args, String workingDir) {
List<String> strArgs = new ArrayList<String>();
strArgs.add(cmd);
strArgs.addAll(Arrays.asList(args));
ProcessBuilder pb = new ProcessBuilder(strArgs);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
781 次 |
| 最近记录: |