Como obter saida de um outro programa?

2 respostas
F

Olá companheiros,

preciso executar um processo que não é java. Mas preciso fazer isso de dentro de uma classe Java. Utilizei os seguintes passos:

runtime = Runtime.getRuntime();
meuProcesso = runtime.exec(“nome_do_processo”);

Agora quero obter a saída que esse processo retorna. “Mensagens de erro”, “Finalizado com sucesso”, etc… Como faço pra obter essas mensagens pelo java?

Agradeço,

Fabrício.

2 Respostas

J

ja vi um post aqui no forum que talvez ajude:
http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewtopic&t=17290
ps.: veja o ultimo post

flw :grin:

S

Crie uma classe que extenda de OutputStream e que tenha o método:

public void write(int b)
    {
        textOut.append(Character.toString((char) b));
        if (autoscroll)
        {
            scrollDown();
        }
    }

o textOut é por exemplo uma JTextArea

agora crie uma thread onde o método run contenha dentro do while:

InputStreamReader isr = new InputStreamReader(input);
            BufferedReader br = new BufferedReader(isr);
            String line = null;
            while ((line = br.readLine()) != null)
            {
                if (pw != null)
                {
                        pw.println(line);
                        pw.flush();
                }
            }

no código acima o pw é um printWriter instanciado com o OutputStream passado como parâmetro, e o input é seu System.in

espero ter ajudado, []s

Criado 17 de maio de 2005
Ultima resposta 18 de mai. de 2005
Respostas 2
Participantes 3