Как написать часть заголовка, используя BufferedOutputStream?
Я хочу записать ~20000 байтов для замены того же количества байтов файла со смещением OFFSET, используя BufferedOutputStream. Я пытаюсь сделать это с помощью следующего кода:
headerOffset = 12000;
headerSize = 20000;
byte[] ba = new byte[20];
FileOutputStream os;
BufferedOutputStream bos;
try {
os = new FileOutputStream('file.dat');
bos = new BufferedOutputStream(os);
bos.write(ba, headerOffset, headerSize);
os.flush();
} catch (IOException e) { e.printStackTrace(); }
Однако это приводит к тому, что файл file.dat перезаписывается содержимым ba, перезаписывая весь файл и оставляя его размером не более ba
, Что я делаю неправильно?