我有一个写出一些数据的程序 - 我正在使用这个逻辑
FileOutputStream outpre = new FileOutputStream(getfile());
FileChannel ch = outpre.getChannel();
ch.position(startwr);
ch.write(ByteBuffer.wrap(dsave));
outpre.close();
它将正确的数据写入正确的位置,唯一的问题是要写入的起始位置(startwr)之前的所有内容都被替换为 00,并且文件也被更改,使得写入完成的点,结束文件。
如何在不损坏先前数据和更改文件大小的情况下将数据写入文件?