Originariamente inviato da rocklife
Il file e' binario ma a dire la verita' non capisco cosa vuoi dire quando parli di formato!In ogni caso il formato non l'ho definito io ma e' stato definito da altri.
E quale è??? Devi saperlo! Esempio: un file .class di Java è un file binario, inizia con 4 byte di "marcatura" fissi, poi 2 byte che formato un unsigned-16bit per la versione "minor", poi 2 byte che formato un unsigned-16bit per la versione "major", ecc...
Quale è il formato del tuo file, in generale?

Originariamente inviato da rocklife
Ho un intero da scrivere come faccio a spezzarlo in 4 byte e poi scriverlo anche perche' credo che nel file venga utilizzata la codifica little-Endian!
codice:
int val = 2009;

fos.write(val);
fos.write(val >>> 8);
fos.write(val >>> 16);
fos.write(val >>> 24);
Se si volesse scrivere un int in Little-Endian su un file.

Originariamente inviato da rocklife
In ogni caso.... siccome non posso scrivere subito sul file, perche' una volta definito il contenuto del file, lo devo rielaborare perche' mi serve calcolare il crc che va come header del file, ho deciso di utilizzare uno string buffer
Se devi trattare byte, StringBuffer è del tutto inutile.
Se devi scrivere prima un qualcosa che puoi calcolare solo dopo hai 2 strade: usi RandomAccessFile, così puoi andare avanti/indietro come ti pare, oppure "bufferizzi" tutto in memoria ma come ripeto, non con StringBuffer. Sai a priori la quantità di byte? Istanzia un array byte[]. Non la sai o vuoi scrivere con write() o altro? Usa ByteArrayOutputStream (alla fine ottieni un byte[]).