Есть ли шаблон для повторного использования BufferedWriter? - PullRequest
2 голосов
/ 02 сентября 2011

Я читаю 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 и BufferedWriter.

1 Ответ

3 голосов
/ 02 сентября 2011

Для меня это звучит как преждевременная оптимизация.JVM является одним из самых умных компонентов программного обеспечения на планете и может определять, являются ли ваши объекты недолговечными.Он может (и будет) также выполнять множество оптимизаций.Скорее всего, любые микрооптимизации, которые вы пытаетесь выполнить, приведут только к снижению производительности.

Ключ к оптимизации производительности заключается в измерении , а не в рассуждениях.

...