Quote Originariamente inviata da andbin Visualizza il messaggio
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".
ah ecco, grazie

ma come mai
codice:
try {
   while (rafStream.getFilePointer() < rafStream.length() ) {
      System.out.println( rafStream.readLine() );
   }
}
catch // ....
funziona senza alcun problema su un generico file di testo scritto da me?