Java - 如何为方法提供数组

标签 java methods processbuilder

我有一个如下的方法:

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/

相关文章:

java - 我如何在java中搜索具有值的对象数组

java - 为什么 java 中的 processBuilder 在 5 分钟后挂起?

java - 使用 ProcessBuilder 通过交互式 IO 运行 C 程序

java - 查找天数

java - GJava中从标准输入到标准输出的压缩

javascript - 对象函数属性中的 React 类 : Referencing class as "this",

java - 插入排序 - 无效的方法声明

java - Process.exitValue() 和 Process.destroy() 功能

java - 如何集群和负载平衡 Spring + OSGi 应用程序

java - 绘制录制的声音时出现奇怪的频率