
Originariamente inviata da
andbin
RandomAccessFile va bene
solo se il file è "binario", nel senso che contiene dati non testuali, con byte arbitrari. E in più se ti serve l'accesso "casuale".
Se devi scrivere un file di testo "puro", RandomAccessFile NON va bene. E tanto meno writeUTF, questo non scrive un testo "puro" perché inserisce all'inizio un dato binario riguardante il numero di byte scritti per il String.
Se vuoi scrivere file di testo "puro", ci sono FileWriter (usa però il charset di default in modo fisso), oppure FileOutputStream (da incapsulare come minimo in OutputStreamWriter, che permette anche di specificare un charset).
E se vuoi "appendere" invece di sovrascrivere, nota che alcuni costruttori di FileWriter/FileOutputStream hanno il flag "append".
