Se tu ci dicessi cosa significa "non funziona", magari anche sì.
Io, nel codice da te postato, noto a prima vista 3 cose che non vanno:

1)
codice:
if("".equals(CurrentFileDirectory)){
e se CurrendFileDirectory fosse null o comunque diverso dalla stringa vuota? (a tal proposito, le convenzioni di nomenclatura Java vorrebbero che le variabili cominciassero con una lettera minuscola, solo le classi e le interface iniziano con la maiuscola, ma questo c'entra poco)

2)
codice:
}catch(IOException e){      
    JOptionPane.showMessageDialog(null, "ERROR!");
}
Questo, in gergo, si chiama "ammazzare le eccezioni". Se si verifica un eccezione non saprai mai cos'è accaduto. Non molto bello, men che meno utile.

3) Non effettui il flush() del BufferedWriter prima di chiudere il file. Generalmente se ne occupa automaticamente la JVM, ma nessuno ti garantisce che ai livelli sottostanti questo venga recepito... col risultato di trovarti con un file vuoto se i dati non sono "sufficienti" a riempire il buffer.

Ad ogni modo, per risolvere il tuo problema, dobbiamo prima sapere che problema hai. Hai solo detto "non funziona" che vuol dire tutto e niente.


Ciao.