.txt
を使用してファイルから10行ごとに読み取る方法はありますBufferedReader
か?現時点でBufferedReader
は、すべての行を読み取り、さまざまな値を分割して配列リストに格納しています。その後、私のプログラムの他の場所で使用されます。
質問する
2401 次
4 に答える
3
この目的のために意図されたLineNumberReaderを使用してください:
LineNumberReader reader = new LineNumberReader(fileReader);
ArrayList<String> goodLines = new ArrayList<String>();
String line = null;
while ((line = reader.readLine()) != null) {
if ((reader.getLineNumber()+1) % 10 == 0) {
goodLines.add(line);
}
}
于 2013-03-15T23:44:51.700 に答える
1
ループを使用して不要な行をすべて読み取り、次に必要な行を読み取ります。
BufferedReader br = new BufferedReader(new FileReader(file));
int index = 10;
while (lineNumber < index - 1)
{
lineNumber++;
br.readLine();
}
String lineYouWant = br.readLine();
if (lineYouWant.isEmpty()) br.close();
// Do stuff with lineYouWant
br.close();
于 2013-03-15T23:37:12.070 に答える
0
すべての行が同じサイズなので、BufferedReaderのskip()メソッドを見ることができます。基本的に、1行を読み取ってから、10 * lineSizeをスキップして、次の行を読み取るなどです。
于 2013-03-15T23:43:17.533 に答える
0
バッファ付きリーダーの目的は、行などの論理ユニットの読み取りを容易にすることです。複数の行を読み取ると、コードが複雑になり、バッファリングされたリーダーが既に大きなデータ ブロックをバッファに読み取っているため、パフォーマンスが大幅に向上しません。
編集:レコードは固定サイズであるため、低レベルのリーダーを使用して、必要なバイト数を読み取るだけです。
于 2013-03-15T23:38:13.517 に答える