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:
[sourcecode language=”java”]
LineNumberReader lnr = new LineNumberReader(new FileReader(file));
lnr.skip(Long.MAX_VALUE);
int retorno = lnr.getLineNumber();
[/sourcecode]
É 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.