2014-04-19 7 views
0

나는 CSV 파일에서 값을 읽어들이는 동적 JComboBox를 만들고 있습니다. 파일에서 원하는 값을 가져올 수 있습니다. 그러나 내가 combobox에 넣으려고 다른 배열에 가져온 된 값을 넣으려고 할 때 그것은 나에게 NullPointerException을주고있다.null 포인터 예외 Throw

 String[] val = null; 
     String[] val2 = null; 
     try 
     { 
      FileInputStream fstream = new FileInputStream("rinku.csv"); 
      BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
      String strLine; 
      int i=0; 
      while ((strLine = br.readLine()) != null) 
      { 
       val = strLine.split(","); 
       val2[i]=val[2]; //NullPointerException thrown here 
       //System.out.println(val[2]); 
       //String[] options={"op1","op2"}; 
       i++; 
      } 
     } 
     catch(IOException e) 
     { 

     } 
     jb= new JComboBox(val2); 
     contentPane.add(jb); 

내가 내 JComboBox의에서 그 발 [2] 값을 넣을 수있는 다른 방법이 있습니다 : 여기 코드는?

답변

2

val2을 할당하지 않았습니다. 또한 다음에 stack-trace를 연결하고 첫 번째 디버깅 프로세스에 오류를 사용하십시오.

+0

난을 val2를 사용 나는 발을 넣어이 있기 때문에 [2]의 값이 JComboBox에에 리디렉션합니다. – user3502063

+0

@ user3502063 코드에 표시되지 않습니다. 'val2'가 null이고'null [i] '처럼 null에서'[i]'를 호출하면 NPE를 던질 것 같습니다. – Pshemo

+0

예. 방금 삭제 된 응답에 따라 작은 변화를 만들었습니다 String [] val2 = new String [size]; 그리고 그것은 작동합니다 :) – user3502063

0

val [2]이 (가) NullPointerException을 발생시키고 있습니다.

먼저 문자열 배열 val의 길이를 확인하면이 오류 뒤에 실제 사실을 알 수 있습니다.

val[].length // check if it is greater than zero or not. If Yes - Loop it and check the value for 2. 

이상적으로 대부분의 경우 NullPointerException 또는 ArrayOutofBoundException이 발생합니다.

+0

예 [2] 거기에 값이 존재합니다. null로만 초기화되었으므로 NullPointerException이 발생합니다. 위의 설명에서와 같이 조금 바꿨습니다. :) – user3502063

0

왜 값을 배열에 넣고 있습니까?

당신은 사용할 수 있습니다

comboBox.addItem(...);