2013-09-16 3 views
0

멋진 프로그램을 만들려고했지만 사용자 입력을 기다리지 않고 GET 요청으로 코드를 실행하려고합니다. 그다지 많은 코드가 아닙니다. 따라서 저를 문제 해결을위한 정보를 찾을 수있는 리소스로 안내하면 도움이 될 것입니다.Java에서 동작 수신기가 대기 중임

@SuppressWarnings("unused") 
public class Test { 

    public static void main(String args[]) throws IOException { 
     BufferedReader rd; 
     OutputStreamWriter wr; 
     String movie = null; 
     Console console = System.console(); 
     movie = console.readLine("Enter input:"); 
     try { 
      URL url = new URL("http://www.imdbapi.com/?i=&t=" + movie); 
      URLConnection conn = url.openConnection(); 
      conn.setDoOutput(true); 
      wr = new OutputStreamWriter(conn.getOutputStream()); 
      wr.flush(); 

      // Get the response 
      rd = new BufferedReader(
        new InputStreamReader(conn.getInputStream())); 
      String line; 
      line = rd.readLine(); 
      if (line != null) { 
       System.out.println(line); 
      } else { 
       System.out.println("Sorry! That's not a valid URL."); 
      } 
     } catch (UnknownHostException codeyellow) { 
      System.err.println("Caught UnknownHostException: " + codeyellow.getMessage()); 
     } 
    } 

} 
+0

오프 사이트 리소스 요청이 주제 떨어져 있습니다. 위의 코드에서 문제는 어디에서 발생합니까? –

+0

나는 당신의 코드를 시도했으나 아무런 변화없이 (수입 추가 제외) 작동한다. open jdk 1.7을 사용한다. –

+0

API에서 -> "현재 자바 가상 머신과 관련된 고유 한 콘솔 객체가 있으면 그것을 반환한다." 예를 들어 일식에서 여러 프로그램과 콘솔이 실행되는 즉시이 메서드는 연결된 콘솔보다 null을 반환합니다. – JBA

답변

1

코드는 그 라인에 NullPointerException을 제공합니다

movie = console.readLine("Enter input:"); 

콘솔 객체가 초기화되지 않는 것을 의미한다. 다음과 같이 입력을 읽는

시도 :

Scanner s = new Scanner(System.in); 
System.out.println("Enter input:"); 
movie = s.nextLine(); 
+0

남자는 항상 나보다 더 빠른 사람 : P +1 : – JBA

+0

고마워요. .nextline() 스 니펫은 무엇을합니까? –

+0

@ user2783985 사용자 입력에서 다음 사용 가능한 라인을 읽습니다. – BackSlash

관련 문제