Java 为什么可以';我不能使用BufferedReader从文本文件中读取整数吗?

Java 为什么可以';我不能使用BufferedReader从文本文件中读取整数吗?,java,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 Sour

我无法使用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)

确保从文件读取的值不是null和整数。否则您将得到异常。因为readLine以字符串形式返回文件中的整行,所以文件为空。确保您的应用程序覆盖此案例,并处理null

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

来自javadoc“一个包含行内容的字符串,不包括任何行终止字符,如果已到达流的末尾,则为null”。尝试在((str=br.readLine())!=null&&str.length()!=0)Yap文件未保存时添加检查…我只是忘记保存该文件。。塔克斯