テキストファイルに存在するすべての行のオフセットを知りたい。
今のところ私は試しました、
path=FileSystems.getDefault().getPath(".",filename);
br=Files.newBufferedReader(path_doc_title_index_path, Charset.defaultCharset());
int offset=0; //offset of first line.
String strline=br.readline();
offset+=strline.length()+1; //offset of second line
このようにして、ファイル全体をループして、テキストファイル全体の行頭のオフセットを知ることができます。しかし、RandomAccessFile
上記の方法で計算されたオフセットを使用してファイルをシークし、行にアクセスするために使用する場合、私はある行の真ん中にいることに気づきました。つまり、オフセットが正しくないようです。
どうしたの?この方法はオフセットを計算するのに正しくありませんか?より良い高速な方法はありますか?