如何在java中复制/拆分inputstream?
是否有一种方法可以将输入流复制/拆分为两个类似于apache commons TeeOutputStream的输入流?我试图从流中过滤一些输入,同时在另一个线程中显示整个输入流。我将编写一个InputStreamFilterer类,它接受构造函数中的原始InputStream 为getOriginalStream和getFilteredStream提供两种方法,并使用代理/委托将过滤后的流包装起来,该代理/委托截取读取的字节,以取出要过滤的数据如何在java中复制/拆分inputstream?,java,io,split,copy,inputstream,Java,Io,Split,Copy,Inputstream,是否有一种方法可以将输入流复制/拆分为两个类似于apache commons TeeOutputStream的输入流?我试图从流中过滤一些输入,同时在另一个线程中显示整个输入流。我将编写一个InputStreamFilterer类,它接受构造函数中的原始InputStream 为getOriginalStream和getFilteredStream提供两种方法,并使用代理/委托将过滤后的流包装起来,该代理/委托截取读取的字节,以取出要过滤的数据 这种方法假设您希望在读取流时对其进行过滤,并且对于
这种方法假设您希望在读取流时对其进行过滤,并且对于如何使用数据还很幼稚。还要注意字符编码。您可以读取输入流,将其写入两个不同的输出流,然后从中读取 使用您可能想要的org.apache.commons.io.input.TeeInputStream 例如:
ProxyInputStream pis = new ProxyInputStream(conn.getInputStream());
如果Apache的TeeOutputStream满足了您的需求,有什么理由不使用它吗?@fge这正是我的第一个想法。问:我如何制作像X一样工作的东西?A:用X!TeeOutputStream拆分输出流,而我希望拆分输入流。如果要将其拆分为单独的输出,请使用此选项,否则请使用ProxyInputStream