是否有重用BufferedWriter的模式?

时间:2011-09-02 12:30:15

标签: java reusability bufferedwriter

我正在从一个目录(包含数千个文件)中读取XML文件,处理内容并为每个输入文件写一个输出文件。有没有办法“重新指向”现有BufferedWriter而不是为每个文件创建新实例?

...
    Scanner scanner;
    BufferedWriter writer;
    File outfile;
    for (File f: directory.ListFiles[]){
      scanner = new Scanner(f);
      outfile = ...;
      // processing input
      writer = new BufferedWriter(new FileWriter(new File(outfile)));
      // write the content
      writer.flush();
      writer.close();
    }

...

创建ScannerBufferedWriter的数千次迭代似乎是浪费。

1 个答案:

答案 0 :(得分:3)

对我来说,这听起来像是一个不成熟的优化。 JVM是地球上最智能的软件之一,可以检测您的对象是否是短暂的。它可以(也将)执行一系列优化。您尝试进行的任何微优化都很可能只会导致性能不佳。

性能优化的关键是衡量,而不是推理。