Runtime.getRuntime().exec() [RESOLVIDO]

1. Runtime.getRuntime().exec() [RESOLVIDO]

Diego Gadens
Haskell

(usa Ubuntu)

Enviado em 27/03/2009 - 19:03h

Olá amigos, estou com uma dúvida em relação ao Runtime.getRuntime().exec() no linux.

Estou iniciando uma aplicação onde terei que executar alguns comandos básicos do terminal linux, via meu aplicativo em Java.

Já estou conseguindo executar os comandos, porém gostaria de saber se preciso tratar o retorno destes comandos... Por exemplo: Se eu executo Runtime.getRuntime().exec("mkdir teste"); o comando funciona e a pasta é criada normalmente. Porém quando executo um Runtime.getRuntime().exec("ls"), nada acontece, ou seja gostaria de saber se é assim mesmo que funciona, se eu preciso tratar manualmente a saída deste ls. Já consegui capturar a saída e utilizá-la, com o seguinte código:

processo = Runtime.getRuntime().exec("ls");

InputStream in = processo.getInputStream();
int c;
String saída = "";

while ((c = in.read()) != -1) {
saída += ((char) c);
}

System.out.println(saída);
in.close();

Assim, a variável saída tem o mesmo conteúdo do retorno do ls. Mas gostaria de saber se este ls não pode ser executado e ter seu retorno diretamente no terminal, sem o meu tratamento manual.


Obrigado

Até logo...


  


2. MELHOR RESPOSTA

Francisco Souza
franciscosouza

(usa Ubuntu)

Enviado em 05/04/2009 - 23:45h

Oi Haskell, infelizmente em Java você tem usar o InputStream.

De repente exista alguma biblioteca na net que facilite/encapsule isso, mas usando o exec() do objeto da classe Runtime, você tem que usar o InputStream mesmo...





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts