mmm... mi sembra strano.
In una vecchia applicazione, usando BufferedInputStream/OutputStream per scaricare file da internet, avevo
codice:
BufferedInputStream bis = new BufferedInputStream((new URL("http://filedascaricare")).openStream(), 4096);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(localfile), 4096);
byte[] buf=new byte[4096];
int byteRead;
while ((byteRead=bis.read(buf,0,4096))>=0) {
bos.write(buf,0,byteRead);
}
bis.close();
bos.flush();
bos.close();
in cui 4096 è del tutto arbitrario.
Non penso sia molto diverso con RandomAccessFile, con l'accortezza di skippare nel file alla giusta posizione prima di scaricarci l'array.