writeChars() scrive ogni singolo carattere come sequenza di 2 byte in formato big-endian (il byte più significativo per primo).Originariamente inviato da dom.vecchioni
raf.writeChars(s);
raf.seek(0);
int i=0;
while(i<20){
System.out.print(raf.read()+", ");
i++;
}
read() invece legge 1 byte e basta. È chiaro che non va bene. Quando fai 'ste cose cerca sempre di fare scritture/letture "simmetriche". Usa ad esempio readChar() per leggere il singolo carattere.