Java 如何访问BufferedInputStream pos和markpos变量?

Java 如何访问BufferedInputStream pos和markpos变量?,java,bufferedinputstream,Java,Bufferedinputstream,我有一组从套接字获取数据的自反序列化类。序列化数据格式在有效负载之前的报头中提供长度信息。如果有效负载不应分配,我想使用前面提到的标题中的长度信息跳过整个块。 然而,为了这样做,我需要知道已经从套接字读取了多少数据。我认为BufferedInputStream将允许我在有效负载的反序列化开始之前使用mark()来执行此操作,然后使用pos和markpos来确定读取的数据量,但我意识到这两个变量或受保护 除了子分类BufferedInputStream之外,还有更好的方法访问此信息吗?您可以在反序

我有一组从套接字获取数据的自反序列化类。序列化数据格式在有效负载之前的报头中提供长度信息。如果有效负载不应分配,我想使用前面提到的标题中的长度信息跳过整个块。
然而,为了这样做,我需要知道已经从套接字读取了多少数据。我认为
BufferedInputStream
将允许我在有效负载的反序列化开始之前使用
mark()
来执行此操作,然后使用pos和markpos来确定读取的数据量,但我意识到这两个变量或受保护

除了子分类
BufferedInputStream
之外,还有更好的方法访问此信息吗?

您可以在反序列化之前
mark()
BIS,然后调用
reset()

这里有公共场所

然后可以通过
skip
方法跳过任意数量的字节