許せない心理テスト

JavaでBufferedReaderを使っているのですが、
readlineを最後まで行うとポインタが最後のままなのですが、
それを一番最初に持ってくることはできますか?
お願いします。

A 回答 (2件)

mark(int limit) というメソッドを使えば可能ですよ。



mark()を呼んだ時点でそこにマークがつけられ、
次にreset()を呼んだ時に最後にマークをつけた
箇所まで戻ります。
オブジェクト化してすぐに呼べばreset()を呼んだ
際に最初に戻れます。

引数 limitには読み込む最大文字数を渡すみたい
ですがあまり大きな値を設定しなければ適当な
値でちゃんと動くみたいです。

BufferedReader reader = new BufferedReader(....);
reader.mark(1024);// 最初にマーク

while(reader.ready()) {
// .......なんか処理
}

reader.reset();//ここで、最初のマーク位置へ戻る
    • good
    • 1
この回答へのお礼

ありがとうございます!

お礼日時:2005/02/22 22:56

CLOSEして再度オープンしたらどうですか?

    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2005/02/22 17:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報