1

私と私の友人は、大学のオブジェクト指向プログラミング コースのプログラムに取り組んでいます。情報のデータベースとしてテキストをファイルに書き込もうとしています。問題は、対応する行を BufferedReader で読み取ろうとすると、正しい行を読み取る方法がわからないことです。利用可能な唯一の関数は、文字のみを読み取る read() のようです。readLine() は 1 行だけ読み取ります (読み取りたい行ではありません。skip() は、指定された文字数だけスキップします。読み取りたい行をプログラムに伝える方法を知っている人はいますか? メソッド getAnswer()引数 int の rowNumber は、実行しようとしているものです: スーパークラス: http://pastebin.com/d2d9ac07f サブクラスは無関係です (ほとんどの場合、まだ作成していないためです)。もちろん、私たちが扱っているのは Java です。事前に感謝します。

4

3 に答える 3

6

を使用する必要がreadLine()あります。これをループで実行し、処理したい行番号に達するまで、既に読んだ行数を数えます。

BufferedReader行番号 N を自動的に読み取るメソッドやその他の標準ライブラリ クラスはありません。

于 2009-12-08T14:17:42.210 に答える
3

Buffered Readers .readLine(); を使用します。必要なデータが得られるまでメソッドを繰り返します。いらないものはすべて捨てて、必要なデータを保存します。これは効率的ではありませんが、仕事を終わらせる必要があります。

于 2009-12-08T14:17:36.617 に答える
2

readLine()Java では、改行文字に到達するまでバッファーから読み取るだけなので、Java が各行の長さを正確に知る方法がないため、ファイルから読み取る行 を指定する方法は実際にはありません。

skip()この理由は、特定の行にジャンプするのが難しい理由でもあります。

を使用して行をループしreadLine()、カウンターが目的の場所にあるときに処理を開始することをお勧めします。

String line = myBufferedReader.readLine();
for(int i = 1; i < whichLine && line != null; i++){
    line = myBufferedReader.readLine();
}

/* do something */
于 2009-12-08T14:19:24.890 に答える