是否可以在java中Fork(克隆)一个流?Nio(或普通的Java io)



是否可能(使用标准java。Nio api,没有主要的黑客攻击或代理或facade)获取输出流,并克隆它,以便每个对流的写入从一个复制到两个独立的输出流?

No。您必须编写一个委托给两个(所有)目标通道的WritableByteChannel实现。不太难,只需要编写一个构造函数和三个方法。

EDIT您可以通过编写FilterOutputStream派生类对流做同样的事情。同样很简单

就像EJP说的那样,这非常简单,但是您也可以使用Apache的commons-io库来实现。

TeeOutputStream -来自文档:"输出流的经典拆分器。以unix 'tee'命令命名。它允许一个流分支,所以现在有两个流。"

最新更新