Подтвердить что ты не робот

Лучший способ писать байты в середине файла в Java

Каков наилучший способ записи байтов в середине файла с помощью Java?

4b9b3361

Ответ 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();
}

Ответ 3

Откройте файл в режиме записи без его усечения, найдите желаемое смещение и напишите нужные данные. Просто будьте осторожны в текстовом/двоичном режиме.