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

StackOverflow https://stackoverflow.com/questions/181408

  •  05-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Чтение и запись в середине файла так же просто, как и использование RandomAccessFile в Java.

RandomAccessFile , несмотря на свое название, больше похоже на InputStream и OutputStream и меньше похоже на File . Он позволяет вам читать или искать через байты в файле, а затем начинать переписывать те байты, на которых вы хотите остановиться.

Когда вы откроете этот класс, его будет очень легко использовать, если у вас есть базовые представления о регулярном вводе-выводе файлов.

Небольшой пример:

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();
}

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top