Java OutputStream 到多个文件

Ste*_*eve 5 java file-io file

我有一个 OutputStream,我想(在概念层面上)将它广播到多个文件。例如,如果流中出现一个字节,我希望将其写入文件 A、B 和 C。

如何仅使用一个流来完成此操作?最好使用纯 Java 解决方案。

Fab*_*ney 6

为此,您可以使用 Apache Commons IO TeeOutputStream。该 OutputStream 将写入它的所有字节代理到两个底层 OutputStreams。TeeOutputStreams当您想一次写入两个以上的 OutputStreams 时,您可以在链中使用多个。

OutputStream out = new TeeOutputStream(new FileOutputStream(new File("A")), new TeeOutputStream(new FileOutputStream(new File("B")), new FileOutputStream(new File("C")))))
Run Code Online (Sandbox Code Playgroud)