Каков наилучший способ записи байтов в середине файла с помощью Java?
Лучший способ писать байты в середине файла в Java
Ответ 1
Чтение и запись в середине файла так же просто, как использование 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();
}
Ответ 2
Используйте RandomAccessFile
Ответ 3
Откройте файл в режиме записи без его усечения, найдите желаемое смещение и напишите нужные данные. Просто будьте осторожны в текстовом/двоичном режиме.