java过滤流真正做什么?
为什么要使用过滤流?在哪里?我了解到,过滤流将用于将所需信息放入流中。。这是正确的吗?如果是的话,我们如何从流中过滤,以及在哪里使用它
爪哇。木卫一。过滤器
我这里的问题是很难理解为什么我们要使用过滤流,因为我们可以使用其他流来完成大部分工作,对吗
你可以在下面搜索框中键入要查询的问题!
为什么要使用过滤流?在哪里?我了解到,过滤流将用于将所需信息放入流中。。这是正确的吗?如果是的话,我们如何从流中过滤,以及在哪里使用它
爪哇。木卫一。过滤器
我这里的问题是很难理解为什么我们要使用过滤流,因为我们可以使用其他流来完成大部分工作,对吗
# 1 楼答案
我想你说的是java。木卫一。过滤器*(如FilterInputStream)
如果我们谈论FilterInputStream类,它只是一个围绕InputStream的包装器,什么都不做。对过滤器方法的每次调用都将在包装的InputStream上调用相应的方法。单凭一个人,这是毫无用处的
假设您需要一个将每个“a”字符转换为“b”的输入流。您可以扩展FilterInputStream并重写read()方法:
现在,您可以使用此流包装任何现有流:
# 2 楼答案
这些Filter*类需要能够在运行时扩展类,而不需要知道底层类型。此模式称为装饰器或包装器
http://en.wikipedia.org/wiki/Decorator_pattern
以BufferedInputStream为例。如果没有包装器,每个InputStream都需要多个版本。比如说,
现在有了包装器,你所需要的就是