你在while条件里这么写:
String line =null;
while((line = bfr.readLine()) != null)
{
System.out.println(line);
}
这样就好使了,因为每次执行readLine()都会去读一行的,你上面的代码条件判断读的是一行,显示的时候读的是下一行了。
错误的地方很多。
1.bfr.readline()每次循环调用了两次,第一次调用的结果被你用来用作判定了。
2.先开的流后关
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class FileReaderDemo {
public static void main(String[] args) {
File file = new File("D:\\说英语.txt");
try {
FileReader f = new FileReader(file);
BufferedReader br = new BufferedReader(f);
String str;
while((str=br.readLine())!=null){
System.out.println(str);
}
br.close();
f.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}