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
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for Java?
- Customers List
- Success Stories