2

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

这是一个好习惯吗?

4

3 回答 3

4

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

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

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

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

于 2009-07-02T16:15:19.447 回答
1

如果您指的是java.io.FileWriter,那么答案是您不能FileWriter实例与您初始化它的文件相关联。

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

于 2009-07-02T16:18:49.900 回答
0

你必须有一个FileWriter每个文件。因此,您将拥有一个数组/列表/某种FileWriters. 只要:

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