Originariamente inviato da andbin
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?
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.
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[]).