使用 ProcessBuilder 类
ProcessBuilder 类使通过命令行轻松发送命令。它只需要一个组成要输入的命令的字符串列表。你只需在 ProcessBuilder 实例上调用 start()
方法即可执行该命令。
如果你有一个名为 Add.exe 的程序,它接受两个参数并添加它们,代码看起来像这样:
List<String> cmds = new ArrayList<>();
cmds.add("Add.exe"); //the name of the application to be run
cmds.add("1"); //the first argument
cmds.add("5"); //the second argument
ProcessBuilder pb = new ProcessBuilder(cmds);
//Set the working directory of the ProcessBuilder so it can find the .exe
//Alternatively you can just pass in the absolute file path of the .exe
File myWorkingDirectory = new File(yourFilePathNameGoesHere);
pb.workingDirectory(myWorkingDirectory);
try {
Process p = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
要注意的一些事项:
- 命令数组必须都是 String 数组
- 如果你在命令行中调用程序,命令必须按顺序(在数组中)(即 .exe 的名称不能在第一个参数之后)
- 设置工作目录时,需要传入 File 对象而不仅仅是文件名作为 String