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