Java中提供Runtime類和Process Builder類兩種方式來執行外部程式
Runtime類
ProcessBuilder類
//使用processBuilder來調用第三方應用程式
@Test
public void testProcessBuilder() throws IOException {
//建立processBuilder對象
ProcessBuilder processBuilder = new ProcessBuilder();
//設定第三方應用程式的指令
//processBuilder.command("ping","127.0.0.1");
List<String> command = new ArrayList<>();
command.add("ping");
command.add("127.0.0.1");
processBuilder.command(command);
//将标準輸入流和錯誤流合并
processBuilder.redirectErrorStream(true);
//啟動一個程序
Process process = processBuilder.start();
//通過标準輸入流來拿到正常和錯誤的資訊
InputStream inputStream = process.getInputStream();
//轉成字元流
InputStreamReader reader = new InputStreamReader(inputStream,"gbk");
//緩沖
char[] chars = new char[1024];
int len = -1;
while ((len = reader.read(chars))!=-1){
String row = new String(chars,0,len);
System.out.println(row);
}
inputStream.close();
reader.close();
}