Лучший способ записи байтов в середине файла в Java - PullRequest
15 голосов
/ 08 октября 2008

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

Ответы [ 3 ]

23 голосов
/ 09 октября 2008

Чтение и запись в середине файла так же просто, как использование 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();
}
6 голосов
/ 08 октября 2008

Использование RandomAccessFile

0 голосов
/ 08 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...