2017-04-06 15 views
0

私は自分のLinuxコンピュータ上でプロセスを実行し、そのプロセスの出力を送信時に出力したいと考えています(例えばこれを作ったばかりです)。実行中のプロセスから直接出力を取得する方法は?

5秒ごとの乱数

52 
72 
33 
67 
26 
74 
2 

数字はコンソールに出力されます。

私はそれでも動作するかどうかはわからないけれども、現在、私は、コマンドを実行するために働く可能性がいくつかのコードを持っている:

public OutputStream executeCommand(String command) { 
    try { 
     ProcessBuilder pb = new ProcessBuilder(command);  
     Process p = pb.start(); 
     OutputStream ops = p.getOutputStream(); 
     return ops; 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return null; 
} 

私はかなりちょうど私がのいくつかの並べ替えを得ることができる方法を求めています出力し、それが印刷されるときに読む。

答えて

1

以下のコードはIOExceptionをスローする可能性があることに注意してください。

Runtime runtime = Runtime.getRuntime() ; 
      Process process = runtime.exec("Your command") ; 
      BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())) ; 
      String line = null ; 
      while ((line = reader.readLine())!= null){ 
       System.out.println(line); 
      } 
関連する問題