>>644
Scannerでファイル内容全部をStringにして、
それをPatternで行末をデリミタとしてStringの配列に分解して、
その配列の要素数を数える、という効率とかメモリ使用量とかに優しくないコード。

他にも、BufferedReaderを使うのとほとんど変わらないけど、
LineNumberReaderというBufferedReaderのサブクラスがある。
これはReaderの方で読んだ所までの行数をカウントしてくれているので、
自分でi++とかしなくてすむ。行数の保持をReader任せにできるくらいしか利点はないが。