1) Prima di poter aprire il file in lettura e quindi leggerlo è necessario chiuderlo, di modo che i dati vengano scritti su disco (un flush() prima della chiusura non fa male ed è consigliabile in situazioni dove viene usata la bufferizzazione).

2) Le eccezioni non vanno ammazzate: stampane sempre lo stackTrace:

codice:
} catch (Exception e) {
   e.printStackTrace();
}

Ciao.