Java 调用第三方程序

sin 2022-06-14 AM 970℃ 0条

调用程序

在Java中 调用第三方程序是一个常见操作,如下代码

String []cmd = {"cmd", "/c", "dir"};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();

标准输出与标准错误输出

获取程序的标准输出与标准错误输出,StackOverflow 上 Printing Runtime exec() OutputStream to console这篇给出了一个说明

  • p.getInputStream() 获取标准输出
  • p.getErrorStream() 获取标准错误输出

这个命名是根据caller的角度,而不是process的角度。
通过stream读取数据。

注意 windows上使用gbk编码 而 linux上使用utf-8编码

String line;
BufferedReader bReader = new BufferedReader(new InputStreamReader(new BufferedInputStream(p.getInputStream()), "gbk"));
while( (line = bReader.readLine()) != null ){
    System.out.println(line);
}
标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~