ファイルもここで閉じられます。15行目でエラーが発生するとここに来る。18、24、38行目でエラーが発生するとここに来る。カウントした行数を返す。}テキストファイルを開いて、1行ずつ読んでいくプログラムにはいろいろな書き方があるんだけど、この解答例のようにFileReaderとBufferedReaderを使う方法がもっともポピュラーみたい。クラスを使った方が効率がいいよ。呼ばれるたびに1文字ずつ、それらの処理をしたりするんだ。それはちょっと効率が悪くて遅いんだ。最初に呼ばれると、一度に8192文字を読み込んでバッファの中に蓄えておくんだ。最初に何行分も読んでしまうんだ。それでHDへのアクセス回数と文字コードなどの処理を一辺に済ませてしまうんだ。メソッドでは、最初の1行だけを返すよ。アクセスしないで、バッファの中にある2行目を返すんだ。これを繰り返して、バッファの中が空になったら、もう一度HDにアクセスしてバッファに取り込むんだ。いうのは「空の」という意味だよ。ない限り、処理を繰り返す」という意味だよ。38行目ファイルを開いている間は、他の人がそのファイルを開いて書き換えられないようにOSがロックしているんだけど、closeすることによって、そのロックを解除するんだ。すると他の人がそのファイルを開いて書き込むことができるようになるよ。F11キーでフルスクリーンモード、Escキーで元に戻ります。ブロックの外で変数を定義します。例外が発生したときでもファイルを閉じて解放する。ここでも例外がスローされる可能性があるので、例外処理をする。}解答例1だと、例外が発生したときにファイルが正しく閉じられないまま終わってしまうことがあるよ、解答例2では、例外が発生した後でファイルを閉じようとしてみているので、より安全なプログラムになるよ。方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。