有没有办法将InputStream标记两次?

时间:2010-09-01 23:51:35

标签: java

我想这样做,所以我可以调用in.mark(512)将流限制为512字节。然后,我想将我的流限制为64字节。我以后可以拨打in.mark(64)然后in.reset(),但仍然可以激活512的标记吗?我想说的是“你能拥有mark()reset()堆叠吗?”

2 个答案:

答案 0 :(得分:2)

至少对于BufferedInputStream,答案肯定是否定的。它存储marklimitmarkpos字段,这些字段只是简单的。

您可以编写一个,但功能不在基本Java流中。

答案 1 :(得分:1)

当然,这就是继承的目的。扩展您正在使用的任何流类,并重载标记和重置方法。