2

我正在从一个目录(包含数千个文件)读取 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();
    }

...

Scanner必须创建数以千计的and迭代似乎是一种浪费BufferedWriter

4

1 回答 1

3

对我来说,这听起来像是过早的优化。JVM 是地球上最智能的软件之一,它可以检测您的对象是否是短暂的。它可以(也将)执行大量优化。您尝试进行的任何微优化很可能只会导致性能下降。

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

于 2011-09-02T13:45:00.400 回答