BufferReader 的readling 方法,读取不到文件中的第一行

来源:互联网 发布:数据挖掘研究生 编辑:程序博客网 时间:2024/04/29 06:54

使用BufferedReader的readline方法读取文件的时候,明明文件中有数据,但是只有一行数据。  为什么读不出来呢?


代码如下:

public class FileTest03 {public static void main(String[] args) throws Exception {//创建一个文件File file = new File("E:/data.txt");file.createNewFile();//向文件中写入内容FileWriter fw = new FileWriter(file);BufferedWriter bw = new BufferedWriter(fw);String str = "迷人的大狼狗";bw.write(str);bw.close();//从文件中读取内容FileReader fr = new FileReader(file);BufferedReader br = new BufferedReader(fr);while(br.readLine() != null){                          //注释1System.out.print(br.readLine());               //注释2}br.close();}}

运行结果为:null

但是E盘下确实有data.txt这个文件,而且文件内确实有内容。那么为什么读取不到呢??


原因解释:

首先 readline每次读取一行,下一次在调用的时候,就读取下一行。

注释1的地方我们调用了一次,注释2的地方又调用了一次,所以对于这程序来说,应该是隔行输出文件中的内容。