2013-11-28 53 views
0

我有一套從套接字獲取數據的自反序列化類。序列化的數據格式在有效載荷之前的報頭中提供長度信息。如果有效負載不可解密,我想使用上述標題中的長度信息跳過整個塊。
但是,爲了做到這一點,我需要知道已經從套接字讀取了多少數據。我認爲BufferedInputStream將允許我在使用mark()之前使用mark(),然後使用pos和markpos來確定讀取的數據量,但是意識到這兩個變量或受保護。如何訪問BufferedInputStream pos和markpos變量?

除了子分類BufferedInputStream之外,有沒有更好的方式來獲得這些信息?

回答

1

您可以在反串行化之前mark() BIS,然後調用reset()

有公開。

然後您可以跳過任意數量的字節,按skip方法。

documentation