尝试编写将文件中的数字作为字符串读取然后将其转换为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”。
任何帮助都将不胜感激。
编辑:代码正在运行。添加了对原始代码的调整。 谢谢你的帮助。
答案 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();
}
干杯。