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