如何将输出从javac重定向回调用程序

时间:2010-02-14 04:22:03

标签: java linux redirect xterm

// this works
if ("Show".equals (obj))
{  
  try {  
    String command= "/usr/bin/xterm -e  javac  panel_1.java"; 
    Runtime rt = Runtime.getRuntime();      
    Process pr = rt.exec(command);

    BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));    
    String line = null;  
    while ((line = in.readLine()) != null) {  
      System.out.println(line); 
    }  
  } catch (IOException e)  {  
    e.printStackTrace();  
  }  
}

这会打开一个xterm窗口,在panel_1.java上调用javac,如果panel_1.java是一个有效的文件,它会编译。然后xterm窗口关闭。好吧我想从编译中获取警告等,并将它们放在列表或textArea中。 任何想法???

1 个答案:

答案 0 :(得分:5)

Java 6具有来自javax.tools包的JavaCompiler,它为编译器提供API而无需运行外部进程。 (阅读我链接的javadoc!)

Here也是关于此事的一个小教程。