java.lang.numberformatexception invalid int“”

时间:2013-12-09 21:09:07

标签: java android text io

尝试编写将文件中的数字作为字符串读取然后将其转换为int的代码。由于某种原因,当尝试从string转换为int时代码崩溃。

代码在Android活动的onCreate函数中执行。 当sample.txt为空时代码运行正常但是当sample.txt文件的第一行中有任何数字时崩溃并返回以下错误:

“java.lang.numberformatexception invalid int”“”

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”。

任何帮助都将不胜感激。

编辑:代码正在运行。添加了对原始代码的调整。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

你曾两次致电readLine();一次进入`if``状态,一次进入下一行。

因此,line第二个行。

答案 1 :(得分:1)

@SLaks所说的是你应该放行:

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

以相反的顺序也改变if,如:

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

干杯。