BufferReader始终返回null

时间:2016-08-17 15:12:29

标签: java file io bufferedreader filereader

这段代码让我发疯,它总是打印出来,我不知道为什么,根据java docs打印null意味着文件是空的,而不是我的情况。

static public void main(String[] args) throws IOException {
     FileReader fr = new FileReader(new File("Hosam.txt"));
     FileWriter fw = new FileWriter(new File("Hosam.txt"));

     BufferedReader bf = new BufferedReader(fr);
     PrintWriter pr = new PrintWriter(fw);

     String g = "hosam";
     while ( (g = bf.readLine() ) != null); {
         System.out.println(g));
         pr.print(g);
     }
     bf.close();
     pr.close();
 }

1 个答案:

答案 0 :(得分:0)

您正在调用bf.readLine()两次!一次在循环条件下;然后在循环体内。就是不要那样做!

因为这意味着你只是“扔掉”了你的一半线!