1
我正在使用可搜索的InputStream,它將流返回給特定位置的我。流中的基礎數據使用UTF-8編碼。我想用inputStreamReader打開這個流並一次讀一個字符。在UTF-8流中打開InputStreamReader
這裏是我的代碼片斷
inputStream.seek(position-1);
InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
的問題是,如果位置-1可能是指向多字節UTF-8序列的中間。我怎樣才能檢測到確保它從一個新的UTF-8編碼序列開始?提前致謝。
那麼'position' *意思是什麼?你從哪裏得到價值?擁有你信任的價值似乎很奇怪,但不知道它是在角色的開始。 (無論如何,有辦法做你想做的事情......) –
@Jon:底層數據流包含序列化的複雜對象。可變位置用於分割此緩衝區並以較小的塊進行處理。但是分裂可能不完全在物體邊界。我通過RPC從另一個進程獲取值。我無法控制位置如何設置。 – ToyElephant