我有一个如下的方法:
public void launch(String cmd, String [] args, String workingDir)
在这个方法中我调用 ProcessBuilder 。
如何调用 ProcessBuilder,包括在我的 args 参数中包含任意数量的参数?
例如,像这样:
ProcessBuilder pb = new ProcessBuilder(cmd, args);
我注意到 ProcessBuilder 确实有这个构造函数:
ProcessBuilder(List<String> command)
也许我可以以某种方式使用它。
最佳答案
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);
关于Java - 如何为方法提供数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3396140/