java - 是否有重用 BufferedWriter 的模式?

标签 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 的数千次迭代似乎是一种浪费。

最佳答案

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

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

关于java - 是否有重用 BufferedWriter 的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7283420/

相关文章:

kubernetes - 为什么 Kubernetes 使用 yaml 文件为 "resource"

Android:在另一个 Activity 中重用存储为局部变量的 Activity

java - 线程写入本地txt文件的问题

java - 需要帮助将字符串写入文本文件中的多行

java - Glassfish 服务器未连接。部署不可用 intelliJ

java - SOAP 故障 : No trusted certs found

python - 使用 gtkglade 构建可重用组件

java - JPA映射注释错误org.hibernate.MappingException : Foreign key must have same number of columns as the referenced primary key

java - 扫描仪永远不会停止从键盘读取

Java 打印编写器环绕