Originariamente inviato da italo2008
cosa sono quei quadratini?
Se guardassi il file con un hex-editor (per vedere i codici dei byte), vedresti che all'inizio di ogni pezzo che scrivi vengono inseriti 2 byte FE FF. Questi rappresentano il BOM (byte order mark), vedi la documentazione della classe java.nio.charset.Charset che lo spiega (ma lo spiega meglio Wikipedia qui).

Il BOM dovrebbe stare solo all'inizio e se un editor/visualizzatore di testo lo "capisce" (dipende dal sw) dovrebbe essere in grado di scriverlo e/o di riconoscerlo e non mostrarlo.

Originariamente inviato da italo2008
come si fa a farli sparire?
"UTF-16BE" o "UTF-16LE"
Ma così il BOM non viene proprio messo. Puoi scriverlo tu all'inizio una volta sola. Oppure se non c'è devi verificare che all'editor si possa dire: trattalo come Unicode Big-Endian (o Little-Endian).