Przegląd

Archiwa składające się z wpisów posiadają metodę createEntries umożliwiającą kompresję całego folderu. Metody takie uwzględniają strukturę katalogów i tworzą cyklicznie wszystkie podfoldery. Możesz także dodać pojedynczy wpis pliku do dowolnego podfolderu, gdziekolwiek do archiwum.

Jak zrobić archiwum ZIP

Do dodawania każdego pliku do skompresowanego archiwum używana jest metoda createEntry. W tych przykładach nie określamy żadnych ustawień kompresji, dlatego zastosowane zostaną ustawienia domyślne dla wybranego formatu.

    try (Archive archive = new Archive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.zip");
    }

Ten kod tworzy archiwum ZIP o nazwie „archive.zip” zawierające dwa pliki: „data1.bin” i „data2.bin”. Oto opis działania:

  • Automatyczne zarządzanie zasobami: W kodzie zastosowano blok try-with-resources, aby zapewnić prawidłowe zarządzanie zasobami. Blok ten automatycznie zamyka obiekt archiwum po jego zakończeniu.
  • Dodawanie plików do archiwum: Wewnątrz bloku kod dwukrotnie wykorzystuje metodę createEntry w celu dodania plików do archiwum:
    - Pierwszy wpis nosi nazwę „first.bin” i zawiera zawartość pliku „data1.bin”.
    - Drugi wpis nosi nazwę „drugi.bin” i zawiera zawartość pliku „data2.bin”.
  • Zapisywanie archiwum: Na koniec wywoływana jest metoda zapisu obiekt archiwum, aby zapisać nowo utworzone archiwum ZIP z określonymi wpisami w pliku „archive.zip”.

Jak dodać pliki do archiwum 7zip

Aby dodać wiele załączników do jednego archiwum 7zip, używamy klasy SevenZipArchive wraz z metodami createEntry i save w podobny sposób.

    try (SevenZipArchive archive = new SevenZipArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 	
        archive.save("archive.7z");
    }

Poniższy kod wykonuje te same działania co poprzedni, ale dla formatu 7-ZIP .

TAR tworzy archiwum

Rozszerzanie archiwów często wiąże się z wyodrębnianiem, dodawaniem nowych plików i ponowną kompresją, co jest procesem wymagającym dużej ilości zasobów. Aspose.ZIP oferuje inteligentniejsze rozwiązanie w Javie. Po prostu otwórz archiwum w celu wyodrębnienia i bezpośrednio dodaj nowe wpisy, unikając niepotrzebnego przepakowywania. To wydajne podejście działa w przypadku formatu archiwum TAR.

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.tar");
    }

Ta aplikacja ma takie same funkcjonalności jak poprzednia, ale jest dostosowana do archiwów z rozszerzeniem TAR .

Jak utworzyć plik GZ

Formaty tylko kompresyjne bez wpisów. Te formaty kompresji, w tym GZIP, LZ, BZIP2, XZ i Z, nie obsługują wpisów plików. Mogą kompresować tylko jeden plik źródłowy na raz.

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (GzipArchive archive = new GzipArchive()) {
            archive.setSource(source);
            archive.save("archive.gz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Utwórz TAR GZ

Aspose.ZIP oferuje wygodny sposób łączenia formatów przeznaczonych wyłącznie do archiwizacji i formatów przeznaczonych wyłącznie do kompresji przy użyciu jednej metody. Oto przykład tej funkcjonalności z kombinacją TAR.GZ. Ta metoda wykorzystuje metodę saveGzipped .

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        archive.saveGzipped("archive.tar.gz");
    }

Utwórz TARLZA

Najpierw tworzymy obiekt FileInputStream, połączony z plikiem, który ma zostać zarchiwizowany. Następnie tworzymy obiekt LzipArchive, ustawiamy źródło na wcześniej utworzony obiekt FileInputStream i zapisujemy archiwum.

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (LzipArchive archive = new LzipArchive()) {
            archive.setSource(source);
            archive.save("archive.lz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Utwórz plik TAR BZ2

Aspose.ZIP oferuje podobne metody kompresji archiwów w formatach LZIP, XZ, ZStandard i Z. Jednak w przypadku BZIP2 wymagane jest inne podejście.

    try (TarArchive tar = new TarArchive()) {
        tar.createEntry("first.bin", "data1.bin");
        tar.createEntry("second.bin", "data2.bin");
        try (Bzip2Archive archive = new Bzip2Archive()) {
            archive.setSource(tar);
            archive.save("archive.tar.bz2");
        }
    }

Ta konstrukcja kodu łączy użycie dwóch różnych formatów archiwów, a mianowicie TAR i Bzip2. Główną cechą jest to, że archiwum TAR jest najpierw tworzone przy użyciu klasy TarArchive poprzez dodanie do niego kilku plików przy użyciu metody createEntry, a następnie to archiwum jest kompresowane do formatu Bzip2 przy użyciu klasy Bzip2Archive .

Inne obsługiwane funkcje Aspose.ZIP dla Java API

Dzięki bibliotece Aspose.ZIP w Javie możesz bezproblemowo wykonywać różne zadania związane z dokumentami w formacie ZIP. Niezależnie od tego, czy potrzebujesz konwertować formaty, scalać pliki, edytować zawartość czy wyodrębniać dane, Aspose.ZIP zapewnia wszechstronną funkcjonalność usprawniającą przepływ pracy i zwiększającą produktywność.

  

Support and Learning Resources

  
  

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