固定フォーマットのファイルがあります。
行番号に基づいて、このファイルの特定の行にアクセスしたいと思います。
例:100行目を読む
各行の長さは200バイトです。
したがって、RandomAccessFileを使用してカーソルを100行目に直接移動すると、次のようになります。
File f = new File(myFile);
RandomAccessFile r = new RandomAccessFile(f,"rw");
r.skipBytes(200 * 99); // linesize * (lineNum - 1)
System.out.println(r.readLine());
ただし、出力がnullになっています。
ここで何が欠けていますか?
質問は私の前の質問に答えるために続けられていますRandomAccessFileを使用してファイルの特定の行に到達する
アップデート:
以下のプログラムは、私が期待しているとおりに機能します。
行サイズは200文字です。
File f = new File(myFile);
RandomAccessFile r = new RandomAccessFile(f,"rw");
r.seek(201 * (lineNumber-1)); // linesize * (lineNum - 1)
System.out.println(r.readLine());
行番号(ファイル全体の任意の行番号)を指定すると、その行が印刷されます。
@EJP:説明してください!