实际用途是什么FilterOutputStream
在Java中?
来自javadoc:
该类是所有过滤输出流的类的超类。这些流位于已存在的输出流(底层输出流)之上,它用作基本数据接收器,但可能会沿途转换数据或提供附加功能。
对我来说,它似乎有相同的方法OutputStream
(也许它由于某种原因覆盖它们?)。它提供什么样的数据“转换”以及何时可以在自己的 Java 应用程序中使用它?
约书亚·布洛赫在有效的 Java 第 16 条:优先考虑组合而不是继承解释为什么继承并不总是完成这项工作的最佳工具。使用装饰器模式通常更有效。 FilterOutputStream 和 FilterInputStream 是实现此模式的基础。例如我想阻止OutputStream.close。这就是我能做的
class NonCloseableOutputStream extends FilterOutputStream {
public NonCloseableOutputStream(OutputStream out) {
super(out);
}
@Override
public void close() throws IOException {
// ignore
}
}
现在我的类可以接受 OutputStream 的任何子类并使其不可关闭。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)