java - leggere e scrivere su file binario

ciao a tutti.. qual è il modo più veloce per scrivere (e per leggere) dati su un file binario?
devo poter anche troncare il file ad una lunghezza prefissata (o eventualmente alla posizione attuale)

io ho provato BufferedWriter e DataOutputStream ma non mi soddisfano più di tanto

grazie
java.nio.*

http://docs.oracle.com/javase/tutorial/essential/io/fileio.html
grazie, mi sono accorto solo adesso che non avevo più ringraziato..