Обзор

Чтобы ваши архивы оставались актуальными и актуальными, при необходимости рассмотрите возможность удаления записей. Aspose.Zip через Java позволяет выборочно удалять или обновлять определенные файлы в архиве.

Как удалить файл из ZIP

Записи ZIP-архива можно удалить с помощью пары методов deleteEntry . Удаление записи происходит без перепаковки, поэтому другие записи не распаковываются и не сжимаются.
Если вам нужно удалить один файл из «archive.zip» с помощью Java, следующий код демонстрирует, как этого добиться. Он выполняет следующие действия
1. Открывает архив для редактирования. В коде используется конструкция try для автоматического закрытия архива после выполнения блока кода.
2. Проходит по записям. Последующие строки реализуют цикл, который перебирает записи архива, удаляя все, кроме последней.
3. Сохраняет измененный архив: После завершения цикла измененный архив сохраняется в новый файл с именем «last_entry.zip».
Можно сохранить измененный архив по тому же пути, но это предполагает копирование во временный файл. . Удаление записи из многотомных ZIP-архивов невозможно.

    try (Archive archive = new Archive("archive.zip")) {
        while (archive.getEntries().size() > 1)
            archive.deleteEntry(archive.getEntries().get(0));
        archive.save("last_entry.zip");
    }

Удаление файлов из архива TAR

Записи tar-архива можно удалить аналогичными методами deleteEntry.
Это код для работы с TAR-архивом с именем «two_files.tar». Он открывает архив для редактирования с помощью конструкции try-with-resources, которая автоматически закрывает архив после завершения выполнения блока кода. Далее код удаляет из архива запись с индексом 0, то есть первый файл в списке файлов или папок. Затем код сохраняет измененный архив как «single_file.tar». Таким образом, этот код создает новый архив TAR, содержащий только один из файлов, которые были в исходном архиве «two_files.tar».
Удаление записей из сжатых tar-архивов, например. *.tar.gz требует сначала распаковки в обычный архив *.tar.

    try (TarArchive archive = new TarArchive("two_files.tar")) {
        archive.deleteEntry(0);
        archive.save("single_file.tar");
    }

Другие поддерживаемые API сжатия Java

Используйте Java-библиотеку Aspose.ZIP для конвертации, объединения, редактирования zip-документов, извлечения данных из архивов и многого другого!

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: