Para pegar a saida da execução tem que usar o getInputStream(). É meio confuso mas é assim mesmo, pois Vc. vai LER o stdout do programa executado.
Dá para pegar também o stderr (getErrorStream()), mas ou Vc. pega o stdout ou o stderr. Acho que não dá para pegar os dois na mesma execução. Segue um exemplo bem simples de como usar esses métodos. Tentei usar a classe BufferedInputStream para ver se o método available() devolvia a quantidade de bytes lidos, mas o método devolveu 0. Roberto Tatemoto class TesteProcess { public static void main(String[] args) throws IOException { BufferedInputStream is = new ufferedInputStream( Runtime.getRuntime().exec("java Teste1").getInputStream() ); StringBuffer sb = new StringBuffer(); int c = is.read(); while (c > 0) { sb.append( (char)c ); c = is.read(); } System.out.print(sb.toString()); } } > Se vc olhar na API... a chamada: > > Runtime.getRuntime().exec("linhadecomando"); > > retorna um objeto tipo Process que este possue um método chamado > getOuputStream() que retorna um OutputStream com a saída! > > Ficaria + ou - assim: > > Process p = Runtime.getRuntime().exec("linhadecomando"); > p.getOutputStream(); > > Nada disso foi testado! Apenas verifiquei que existe! > > ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------