Verifica in console se vengono sollevate delle eccezioni durante gli accessi al file (scrittura / lettura).
Ad ogni modo devi rivedere la gestione dei file. Qui di seguito il modo corretto di gestirli (l'esempio è basato sulla scrittura, ma vale lo stesso approccio anche per la lettura):
// Dichiaro l'oggetto che gestirà la scrittura
File_Writer fr = null;
try {
// Inizializzo l'oggetto che gestirà la scrittura
fr = new File_Writer( ... );
// Effettuo la scrittura (le scritture)
fr.write( ... );
// Forzo la scrittura su disco (potrebbero esserci meccanismi di buffering)
fw.flush();
} catch (Exception e) {
// C'è stata un'eccezione, la gestisco come meglio posso
e.printStackTrace();
} finally {
// Alla fine di tutto (che sia andato tutto bene o che vi siano eccezioni) chiudo l'oggetto
if (fw != null) {
try { fw.close(); } catch (Exception e) { }
}
}
** Ho dovuto scrivere File_Writer (con l'underscore) su suggerimento dell'amministratore altrimenti le policy di sicurezza del forum bloccavano il post **
Per il resto non ho visto cose strane nella classe che gestisce lettura e scrittura (non ho guardato le altre).
Consiglio: utilizza sempre i percorsi alla "unix", ovvero con lo slash ( / ) così hai garantito anche un minimo di portabilità e non sei costretto a correre dietro al quoting del backslash.
PS: Fai sistemare il terzo link che punta a FB e non a pastebin.