Удалить первые байты файла произвольного доступа в Java - PullRequest
7 голосов
/ 02 декабря 2010

Я пишу байты в файл произвольного доступа.После завершения операции я хочу удалить первые 100 байтов из файла.Как мне этого добиться?

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 07 декабря 2010

Я нашел метод, который обеспечивает желаемые работы. это deleteRAF и здесь .

спасибо за советы.

4 голосов
/ 02 декабря 2010

AFAIK, вам нужно будет скопировать оставшиеся байты (длина файла - 100) в новый файл. Удаление первых 100 байтов из файла невозможно без копирования оставшихся байтов в новый файл.

Редактировать: Как правильно заметил cdhowie, вы можете:

  • искать 100,
  • читать X количество байтов (хотя их больше 100)
  • стремиться к 0,
  • записать X количество байтов

Затем повторяйте процесс, пока не будет записан весь файл. Завершите работу, установив длину файла на 100 байт меньше, чем ранее. Если вы хотите быть в безопасности и не рисковать испортить исходный файл, возможно, стоит сначала записать его во временный файл.

0 голосов
/ 02 декабря 2010

Нет простого способа сделать это.Вам придется читать, начиная с байта 100, и писать, начиная с байта 0 - по сути, вручную сдвигать содержимое файла на 100 байтов.Затем вы можете обрезать файл до 100 байтов меньше его длины.

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