Non è una stupidaggine... è proprio così!
File.separator restituisce una stringa che contiene il carattere utilizzato nel S.O. in uso per separare le varie directory nei percorsi. Nei sistemi Windows, File.separator restituisce il backslash ( \ ), nei sistemi *Nix restituisce lo slash ( / ).

Per inserire una linea vuota all'interno di un file devi andare a scrivere la sequenza "\n" oppure utilizzare i metodi appositi di classi come PrintStream:
codice:
PrintStream ps = new PrintStream( new FileOutputStream("File.DAT") );
// Inserisco una linea vuota
ps.println();
Ciao.