复制InputStream的开头

PNS*_*PNS 1 java inputstream reset

我想复制InputStream的"开始"(即前N个字符),然后将流重置为其开始,以便可以重用它.

使用mark()和reset()不适用于所有类型的输入流,所以我想知道是否有一个"通用"开源Java类(即流包装器)可以为任何类型的输入流执行此操作.

另外,制作副本以避免转换错误的最安全方法是什么?

mae*_*ics 7

也许你可以将你的InputStream包装起来,PushbackInputStream这样你就可以读取前N个字节,然后unread()再重新使用它们.