Ler a saida de um comando

1 resposta
I

Por exemplo para executar um comando simples no windows um “dir”, e pegar a saida desse comando, me falaram q era so usar o senguite codigo

try {
    // Execute command
    String command = "dir";
    Process child = Runtime.getRuntime().exec(command);

    // Get input stream to read from it
    InputStream in = child.getInputStream();
    int c;
    while ((c = in.read()) != -1) {
        process((char)c);
    }
    in.close();
} catch (IOException e) {
}

so q deu o seguinte erro:

teste.java:30: cannot resolve symbol

symbol  : method process (char)

location: class teste

process((char)c);

^

1 error

como eu resolvo este problema? sera q eu nao importei alguma coisa q deveria importar? o q devo importar?

1 Resposta

marcelo_emanoel

aew brow pq vc não bufferiza a saída e lê linhas dela em vez de cada caractere? e ota… ele ta dando erro pq process((char)c); não existe nesse código q vc colocou… tenta ver isso…

se quizer um exemplo de como bufferizar eh assim:

BufferedReader in = new BufferedReader(child.getInputStream());
      try{
         String linha = "";
         while((linha = in.readLine()) != null){
               System.out.println(linha);
         }
      }
      catch(Exception e){
            e.printStacTrace();
      }
Criado 16 de junho de 2006
Ultima resposta 16 de jun. de 2006
Respostas 1
Participantes 2