gpt4 book ai didi

java - 如何访问 BufferedInputStream pos 和 markpos 变量?

转载 作者:行者123 更新时间:2023-12-01 13:47:14 26 4
gpt4 key购买 nike

我有一组自反序列化类,它们从套接字获取数据。序列化数据格式在有效负载之前的 header 中提供长度信息。如果有效负载不可反序列化,我想使用上述 header 中的长度信息跳过整个 block 。
然而,为了做到这一点,我需要知道已经从套接字读取了多少数据。我认为 BufferedInputStream 允许我在有效负载反序列化开始之前使用 mark() 来做到这一点,然后使用 pos 和 markpos 来确定读取的数据量,但意识到这两个变量还是 protected 。

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

最佳答案

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

有公共(public)。

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

documentation

关于java - 如何访问 BufferedInputStream pos 和 markpos 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20271013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com