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
方法跳过任意数量的字节