Przegląd

Aby Twoje archiwa były aktualne i istotne, rozważ usunięcie wpisów, jeśli to konieczne. Aspose.Zip poprzez Java pozwala na selektywne usuwanie lub aktualizację określonych plików w archiwum.

Jak usunąć plik z zip

Wpisy archiwum ZIP można usunąć za pomocą pary metod deleteEntry . Usunięcie wpisu odbywa się bez ponownego pakowania, więc inne wpisy nie są dekompresowane i kompresowane.
Jeśli chcesz usunąć pojedynczy plik z pliku „archive.zip” przy użyciu języka Java, poniższy kod demonstruje, jak to osiągnąć. Wykonuje następujące działania
1. Otwiera archiwum do edycji: W kodzie zastosowano konstrukcję try, która automatycznie zamyka archiwum po wykonaniu bloku kodu.
2. Iteruje wpisy: Kolejne wiersze implementują pętlę, która iteruje wpisy archiwum, usuwając wszystkie oprócz ostatniego.
3. Zapisuje zmodyfikowane archiwum: Po zakończeniu pętli zmodyfikowane archiwum jest zapisywane w nowym pliku o nazwie „last_entry.zip”.
Możliwe jest zapisanie zmodyfikowanego archiwum w tej samej ścieżce, ale wiąże się to z kopiowaniem do pliku tymczasowego . Usuwanie wpisów z wielotomowych archiwów ZIP nie jest możliwe.

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

Usuń pliki z archiwum TAR

Wpisy w archiwum tar można usunąć podobnymi metodami usuwaniaEntry.
To jest kod do pracy z archiwum TAR o nazwie „two_files.tar”. Otwiera archiwum do edycji przy użyciu konstrukcji try-with-resources, która automatycznie zamyka archiwum po zakończeniu wykonywania bloku kodu. Następnie kod usuwa z archiwum rekord o indeksie 0, czyli pierwszy plik na liście plików lub folderów. Następnie kod zapisuje zmodyfikowane archiwum jako „single_file.tar”. Zatem ten kod tworzy nowe archiwum TAR, które zawiera tylko jeden z plików, które znajdowały się w oryginalnym archiwum „two_files.tar”.
Usuwanie wpisów ze skompresowanych archiwów tar, np.: Plik *.tar.gz wymaga najpierw dekompresji do zwykłego archiwum *.tar.

    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: