使用 BufferedWriter 将相同数据写入多个文件

use BufferedWriter to write same data to multiple files

我有兴趣将我收到的一些数据写入两个不同的文件(相同的数据)。

在我的代码中,我使用 BufferedWriterFileWriter 将数据写入文件,作为备份,我希望将相同的数据写入本地存储和SD 卡。

我的问题是我是否需要使用 2 FileWriters 和 2 BufferedWriters 来实现它,或者有没有办法对两个文件使用相同的 BufferedWriter

有没有更有效的方法来完成这个任务?

重用相同 writer 是不可能的 - 除非你花时间实现你自己的 Writer 的特殊子类,它在同一时间点将其输出写入多个文件. (然后将此类 CopyingWriter 的实例传递给 BufferedWriter 的 ctor)。

但我建议不要那样做。相反:将文件写入 一次。然后使用其他现有技术复制输出文件。

始终以简单为目标。您打算创建一个非常特殊的解决方案,其中一个写入器写入 n 个文件。但没有必要这样做。编写文件一次,然后将其复制 n 次。这种方法不需要 "innovation" - 你只需要使用已经存在的东西(例如参见 [​​=12=])。