ProcessBuilder - 数组参数
ProcessBuilder - array parameter
我正在使用 ProcessBuilder
从 Java 应用程序中 运行 安装一个 .exe。我可以 运行 .exe,并可以将标量参数传递给它,但我想知道如何将数组作为参数传递?
我的代码如下:
Process process = new ProcessBuilder(path,
Integer.toString(firstParam),
"where i want array to be").
start();
当使用 ProcessBuilder
时,命令中的每个元素都是一个单独的参数。
String[] array = {"Item 1", "Item 2", "Item 3"};
String arg = String.join(",", array);
Process process = new ProcessBuilder("path/to/command.exe", "--argument-name", arg)
.inheritIO() // replace with your own IO handling if needed
.start();
我认为您不必担心将 arg
括在引号中,因为 ProcessBuilder
会负责将其作为单个参数发送给您。
以上应该等同于这个命令行:
path/to/command.exe --argument-name "Item 1,Item 2,Item 3"
我正在使用 ProcessBuilder
从 Java 应用程序中 运行 安装一个 .exe。我可以 运行 .exe,并可以将标量参数传递给它,但我想知道如何将数组作为参数传递?
我的代码如下:
Process process = new ProcessBuilder(path,
Integer.toString(firstParam),
"where i want array to be").
start();
当使用 ProcessBuilder
时,命令中的每个元素都是一个单独的参数。
String[] array = {"Item 1", "Item 2", "Item 3"};
String arg = String.join(",", array);
Process process = new ProcessBuilder("path/to/command.exe", "--argument-name", arg)
.inheritIO() // replace with your own IO handling if needed
.start();
我认为您不必担心将 arg
括在引号中,因为 ProcessBuilder
会负责将其作为单个参数发送给您。
以上应该等同于这个命令行:
path/to/command.exe --argument-name "Item 1,Item 2,Item 3"