No Java existe uma classe que mantém o controle do número de linhas em um arquivo: a classe LineNumberReader. Ela possui o método getLineNumber que é incrementado a cada quebra de linha em um arquivo. Com isso em mente há uma forma elegante de se contar a quantidade de linhas em um arquivo:
LineNumberReader lnr = new LineNumberReader(new FileReader(file)); lnr.skip(Long.MAX_VALUE); int retorno = lnr.getLineNumber();
É só utilizar a classe LineNumberReader (linha 1) e navegar até o fim do arquivo com o método skip. Após essas operações o método getLineNumber irá retornar a quantidade de linhas.