Мое Java-приложение в настоящее время использует ZIP в качестве формата файла проекта. Файлы проекта содержат несколько файлов XML и множество графических и звуковых файлов.
Файлы проекта становятся довольно большими, и, поскольку я не могу найти способ с классами java.util.zip записывать в ZIP-файл без его повторного создания, мои сохранения файлов становятся очень медленными. Так, например, если я просто хочу обновить один файл XML, мне нужно переписать весь ZIP.
Есть ли какая-нибудь другая библиотека Java ZIP, которая позволит мне выполнять произвольную запись в файл ZIP?
Я знаю, что переключение на что-то вроде SQLite решает проблему случайной записи. Будет ли уместным использовать SQLite для написания XML, звука и изображений в качестве больших двоичных объектов?
Полагаю, я мог бы придумать свой собственный формат файла и использовать RandomAccessFile, но тогда мне пришлось бы писать много бухгалтерии.
Обновление ...
Мой формат файла очень похож на Office Open XML . Это ZIP-файл, содержащий XML и другие ресурсы.
Кто-то, должно быть, решил проблему случайных записей для обновления ZIP-файла. Кто-нибудь знает как?