我想使用 BufferedOutputStream 写入 ~20000 字节以替换偏移 OFFSET 处相同数量的文件字节。我尝试使用以下代码执行此操作:
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 的内容覆盖,覆盖整个文件并使其仅与 .dat 一样大ba
。我究竟做错了什么?