ファイルを1行ずつ読みたい。BufferedReader は、RandomAccessFile または BufferedInputStream よりもはるかに高速です。しかし問題は、読み取ったバイト数がわからないことです。読み取ったバイト数(オフセット)を知る方法は? 私は試した。
String buffer;
int offset = 0;
while ((buffer = br.readLine()) != null)
offset += buffer.getBytes().length + 1; // 1 is for line separator
ファイルが小さい場合は機能します。ただし、ファイルが大きくなると、オフセットは実際の値よりも小さくなります。オフセットを取得するにはどうすればよいですか?