Visão geral

Para manter seus arquivos atualizados e relevantes, considere excluir entradas quando necessário. Aspose.Zip via Java permite remover ou atualizar seletivamente arquivos específicos dentro do arquivo.

Como remover arquivo do Zip

As entradas do arquivo ZIP podem ser excluídas usando o par de métodos deleteEntry . A exclusão de uma entrada ocorre sem reembalagem, portanto, outras entradas não são descompactadas e compactadas.
Se você precisar excluir um único arquivo de "archive.zip" usando Java, o código a seguir demonstra como fazer isso. Ele executa as seguintes ações
1. Abre o arquivo para edição: O código utiliza uma construção try para fechar automaticamente o arquivo após a execução do bloco de código.
2. Itera pelas entradas: As linhas subsequentes implementam um loop que itera pelas entradas do arquivo, excluindo todas, exceto a última.
3. Salva o arquivo modificado: Após a conclusão do loop, o arquivo modificado é salvo em um novo arquivo chamado "last_entry.zip"
É possível salvar o arquivo modificado pelo mesmo caminho, mas isso envolve copiar para um arquivo temporário . A exclusão de entradas de arquivos ZIP de vários volumes não é possível.

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

Remover arquivos de um arquivo TAR

As entradas do arquivo tar podem ser excluídas com métodos deleteEntry semelhantes.
Este é o código para trabalhar com o arquivo TAR chamado "two_files.tar". Ele abre o arquivo para edição usando a construção try-with-resources, que fecha automaticamente o arquivo após o bloco de código terminar a execução. A seguir, o código exclui do arquivo o registro com índice 0, ou seja, o primeiro arquivo da lista de arquivos ou pastas. O código então salva o arquivo modificado como "single_file.tar". Portanto, este código cria um novo arquivo TAR que contém apenas um dos arquivos que estavam no arquivo original "two_files.tar".
Excluir entradas de arquivos tar compactados, por ex. *.tar.gz requer descompactação para o arquivo *.tar simples primeiro.

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

Support and Learning Resources

  
  

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