为什么我不能使用BufferedReader从文本文件中读取整数?

时间:2015-05-29 17:48:54

标签: java

我无法使用BufferedReader从文本文件中读取整数:

BufferedReader br = new BufferedReader(new FileReader("C:/heapsort.txt"));
s = br.readLine();
int x = Integer.parseInt(s);

上面的代码抛出以下异常:

ava.lang.NumberFormatException: null
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at tester.main(tester.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)

2 个答案:

答案 0 :(得分:1)

确保从文件读取的值不是null和整数。否则你会得到例外。因为readLine将文件中的整行作为字符串

返回

答案 1 :(得分:1)

看起来文件是空的。为了确保你覆盖这个案例以及处理null

while((br = br.readLine()) != null) { 
int x = Integer.parseInt(s);
System.out.println(br); 
}