2013-12-09 2 views
1

파일에서 숫자를 문자열로 읽은 다음 int로 변환하는 코드를 작성하려고합니다. 어떤 이유로 문자열을 int로 변환하려고하면 코드가 충돌합니다.java.lang.numberformatexception invalid int ""

코드는 Android 활동의 onCreate 기능에서 실행됩니다.

"java.lang.NumberFormatException의 잘못된 INT" ""

: 어떤 번호가의 Sample.txt 파일의 첫 번째 줄에있을 때의 Sample.txt 다음과 같은 오류가 비어 있지만, 충돌 및 반환 할 때 코드는 잘 실행
public static int LastScore; 
public File sdcard = Environment.getExternalStorageDirectory(); 
public File file = new File(sdcard,"sample.txt"); 


    try{ 
     BufferedReader br = new BufferedReader(new FileReader(file)); 
      String line = null; 
      line = br.readLine(); 
     if(line!=null){ 
       LastScore = Integer.parseInt(line); 
         } 

    }catch (IOException e){ 
     System.err.println(e); 
    } 

sample.txt의 첫 번째 줄에는 현재 숫자 2가 포함되어 있습니다.

도움을 주시면 감사하겠습니다.

편집 : 이제 코드 작업이 완료되었습니다. 원래 코드에 조정 사항이 추가되었습니다. 도움 주셔서 감사합니다.

답변

4

readLine()을 두 번 호출했습니다. 한 번``if`` 조건에, 한 번은 다음 줄에.

따라서 line 라인입니다. 역 순서

line = br.readLine(); 
LastScore = Integer.parseInt(line); 

과도 같은 경우 변경 : @SLaks에 쓰여있는 말은 그대로

+1

감사합니다. 제대로 작동합니다! – ConorB

1

당신이 라인을 넣어해야한다는 것입니다

line = br.readLine(); 
if(line != null){ 
    LastScore = Integer.parseInt(line); 
    line = br.readLine(); 
} 

건배.

+0

여전히 readLine()에 2 번의 호출이 있음을 의미합니다. 당신의 코드는 그가 말한 것이 아닙니다. – dymmeh

+0

업데이트 됨, 감사합니다 @dymmeh – prmottajr

+0

환호, 지금 작동하고 있습니다. – ConorB

관련 문제