我希望在输出流上使用两个不同的过滤器。假设以下是过滤器。
public class FilterStream1 extends FilterOutputStream {
}
public class FilterStream2 extends FilterOutputStream {
}
我有一个 OutputStream,当前使用 FilterStream1 进行包装,如下所示
return new FilterStream1(out);
我可以修改它以通过添加第二个过滤器输出流来执行以下操作吗?
OutputStream intermediateStream = new FilterStream2(out);
return new FilterStream1(intermediateStream);
在这种情况下我应该注意什么吗?
最佳答案
是的,将过滤器流放入其他过滤器流中是完全合法的。不会出现任何问题。
事实上,这正是在流 API 中实现的装饰器模式的用例。 (参见https://en.wikipedia.org/wiki/Decorator_pattern以供引用。)
关于java - 我可以用另一个 FilterOutputStream 包装一个 FilterOutputStream 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39099558/