2014-04-30 3 views
2

내가하려는 것은 내 자신의 자바 프로그램이 명령 행/터미널을 통해 pianobarfly (https://github.com/nega0/pianobarfly)와 상호 작용하도록 만드는 것이다. 이 시점에서 나는 겉으로보기에는 응용 프로그램을 시작할 수 있지만 첫 번째 행만 java를 통해 인쇄됩니다. 뒤 따르는 줄을 인식하지 못하는 것 같습니다. 나는 이것에 대해 어떻게 갈 것인가?자바 터미널/CMD 상호 작용

import java.io.*; 

class mainA 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     try { 
      Process p = new ProcessBuilder("/Users/sbuck1994/Desktop/pianobarfly-master/pianobarfly").start(); 
      BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); 
      BufferedWriter output = new BufferedWriter(new OutputStreamWriter(p.getOutputStream())); 
      String resultLine = input.readLine(); 

      while (resultLine != null) { 
      System.out.println(resultLine); 
      resultLine = input.readLine(); 
      } 

      int exitVal = p.waitFor(); 
      System.out.println("Exited with error code "+exitVal); 

     } catch(Exception e) { 
      System.out.println(e.toString()); 
      e.printStackTrace(); 
     } 
    } 
} 

이 결과 : 나는이 같은 인쇄해야한다고 생각하면

Welcome to pianobarfly (2012.09.07-dev)! Press ? for a list of commands. 

: http://i.stack.imgur.com/eQ8vp.png

: 여기

Welcome to pianobarfly (2012.09.07-dev)! Press ? for a list of commands. 
[?] Email: 

을 그리고는 터미널 사용할 때 모습입니다

답변

0

또한 오류 스트림을 처리해야 할 수도 있습니다. 자세한 내용은 this을 참조하십시오.