该程序既不读取也不写入文件

时间:2011-10-29 06:02:20

标签: java io

CODE

import java.io.*;
class tester {
 public static void main(String args[]) {
  try {
   FileReader reader = new FileReader(new File("d:\\UnderTest\\check123.txt"));
   FileWriter writer = new FileWriter(new File("d:\\UnderTest\\check123.txt"));
   BufferedReader br = new BufferedReader(reader);
   String s;
     while( (s=br.readLine()) != null ) {
       System.out.println(s);
     }
   writer.write("Shadow Shadow");
  } catch(Exception exc) {
     System.out.println(exc);
    }
  }
}

当我运行它时,这段代码什么都不写,什么都不读。这个程序中的错误在哪里?

2 个答案:

答案 0 :(得分:2)

您确定第一次阅读时文本文件中是否有内容? 您需要在try-catch块的finally块(当前缺少代码中)中关闭Reader和Writer。关闭流会自动刷新内容。

答案 1 :(得分:1)

确保关闭阅读器和编写器。使用编写器后,您需要刷新内容或关闭编写器(执行相同的操作)。我测试了这个并且它有效。

import java.io.*;
class tester {
 public static void main(String args[]) {
  try {
  FileReader reader = new FileReader(new File("c:\\check123.txt"));
  FileWriter writer = new FileWriter(new File("c:\\check123.txt"));
  BufferedReader br = new BufferedReader(reader);
  writer.write("Shadow Shadow");     
  writer.close();

  String s;
    while( (s=br.readLine()) != null ) {
      System.out.println(s);
    }
  reader.close();

 } catch(Exception exc) {
    System.out.println(exc);
   }
}

}