Чтение и запись в середине файла так же просто, как использование RandomAccessFile
в Java.
RandomAccessFile
, несмотря на свое название, больше похоже на InputStream
и OutputStream
и меньше похоже на File
. Он позволяет вам читать или искать по bytes
в файле, а затем начинать запись в тех байтах, на которых вы хотите остановиться.
Как только вы откроете этот класс, его будет очень легко использовать, если у вас есть базовые представления о регулярном вводе-выводе файлов.
Небольшой пример:
public static void aMethod(){
RandomAccessFile f = new RandomAccessFile(new File("whereDidIPutTHatFile"), "rw");
long aPositionWhereIWantToGo = 99;
f.seek(aPositionWhereIWantToGo); // this basically reads n bytes in the file
f.write("Im in teh fil, writn bites".getBytes());
f.close();
}