如何访问BufferedInputStream pos和markpos变量?

时间:2013-11-28 16:36:32

标签: java bufferedinputstream

我有一组从串口获取数据的自反序列化类。序列化数据格式在有效载荷之前的标题中提供长度信息。如果有效载荷不可消除,我想使用上述标题中的长度信息跳过整个块。
但是,为了做到这一点,我需要知道已经从套接字读取了多少数据。我认为BufferedInputStream允许我在有效载荷的反序列化开始之前使用mark()执行该操作,然后使用pos和markpos来确定读取的数据量但是实现了这两个变量或受保护。

除了对BufferedInputStream进行子分类之外,是否有更好的方式来访问此信息?

1 个答案:

答案 0 :(得分:1)

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

有公开。

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

documentation