E' proprio quel while (true) il problema: in questo modo tu continui a leggere il file anche quando questo è finito.
Prova in questo modo:
Ciao.codice:int n=0; String s = ""; try { while (s != null) { s = input.readLine(); n++; } } catch (Exception e) {} System.out.println("Numero di righe: " + n);![]()