使用getRuntime()执行脚本时执行错误处理的最佳方法.exec()

时间:2014-12-29 02:52:52

标签: java python error-handling

我有一个代码,我使用getRuntime().exec()来执行脚本:

            Process pr = Runtime.getRuntime().exec(cmd);

            BufferedReader bfr = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String line = "";
            while((line = bfr.readLine()) != null) {

             // WHAT TO DO HERE?

            }

大多数情况下,脚本将执行执行某些操作的命令而不返回任何行,如将文件从一个位置复制到另一个位置或此行上的某些内容。我想知道在这种情况下我能有效地进行错误处理吗?我的意思是如果脚本返回的内容比上面的代码中的那些在while循环中显示为输出,但在这种情况下,没有返回显示的内容。那么我怎么能在这里得到错误处理呢?

1 个答案:

答案 0 :(得分:0)

我认为这是jave代码,但不是Python。你把错误的标签。 这里有一些提示。希望它有所帮助。

...
// define your cmd here
Process p = Runtime.getRuntime().exec(cmd);
final InputStream is = p.getInputStream();
Thread t = new Thread(new Runnable() {
  public void run() {
    InputStreamReader isr = new InputStreamReader(is);
    int ch;
    try {
      while ((ch = isr.read()) != -1) {
        System.out.print((char) ch);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
});
t.start();
p.waitFor();
t.join();
...