是否可以使用相同的文件编写器来编写不同的文件

时间:2009-07-02 16:12:11

标签: java filewriter

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

这是一个好习惯吗?

3 个答案:

答案 0 :(得分:4)

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

您的意思是说有一个FileWriter变量引用不同的 FileWriter个对象,每个对象都写入不同的文件吗?

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

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

答案 1 :(得分:1)

如果您指的是java.io.FileWriter,则答案是you can'tFileWriter实例与您使用它初始化的文件绑定。

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

答案 2 :(得分:0)

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

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