【问题标题】:Is it ok to use same file writer for writing different files可以使用相同的文件编写器来编写不同的文件吗
【发布时间】:2010-11-07 16:45:26
【问题描述】:

我们有一个循环来获取某些数据。根据数据,文件写入器需要写入不同的文件。

这是一个好习惯吗?

【问题讨论】:

    标签: java filewriter


    【解决方案1】:

    由于不可能有一个 FileWriter 对象来写入不同的文件,我会说这不是好的形式。

    您的意思是您有一个 FileWriter 变量引用 不同 FileWriter 对象分别写入不同的文件?

    这取决于用例。如果他们都将相似的数据写入具有相似含义的文件中,那么可能没问题。

    但话又说回来:如果您的方法写入多个文件,那么您可能无论如何都需要重构它。

    【讨论】:

      【解决方案2】:

      如果你指的是java.io.FileWriter,那么答案就是you can'tFileWriter 实例与您初始化它的文件相关联。

      如果您在谈论您自己的文件编写器类,那么答案会更加主观,因为它完全取决于您的情况 - 您需要详细说明。但一般来说,如果您正在考虑让写入器保持打开状态,那么请考虑如果您在写入后不关闭文件而是挂在实例上,可能会丢失数据。

      【讨论】:

        【解决方案3】:

        每个文件都必须有一个FileWriter。所以你会有一个数组/列表/某种FileWriters的集合。只要:

        1. 您可以正确管理所有这些的关闭(想想抛出异常时会发生什么 - 您可能应该在 finally{} 块或类似块中关闭所有 FileWriter)
        2. 操作系统将限制打开文件的最大数量。我从您的问题中怀疑您不会遇到此问题,但值得查找有关特定操作系统的每个进程的最大文件描述符数的信息。

        【讨论】:

          猜你喜欢
          • 2020-06-02
          • 2022-01-19
          • 2014-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多