Java ZIP библиотека за създаване и управление на ZIP архив

Отворена Java библиотека, която поддържа създаване, извличане и модифициране на ZIP файлове програмно. Поддържа Unicode, разделяне и обединяване на архиви чрез Java API.

В света на Java програмирането, ефективното работа с zip архиви е често срещано изискване. Независимо дали става въпрос за компресиране на файлове за съхранение или прехвърляне на данни по мрежи, надеждна библиотека може да направи съществена разлика. Една такава ценна находка в Java екосистемата е библиотеката Zip4j, мощен инструмент за работа с zip файлове. Нека се задълбочим в това, което прави Zip4j предпочитан избор за разработчиците, и да разгледаме нейните функции и предимства. Разработена от Срикант Лингала, Zip4j опростява сложните операции с zip файлове, предлагайки на разработчиците безпроблемен начин за работа с архиви в техните Java приложения.

Zip4j е отворена Java библиотека, която предоставя лесен за използване интерфейс за създаване, извличане и модифициране на zip файлове програмно. Библиотеката Zip4j предлага прост API, който позволява на софтуерните разработчици да изпълняват чести операции с ZIP файлове с минимален код. Независимо дали създавате нов ZIP файл, извличате файлове или актуализирате съществуващ архив, интуитивният дизайн на библиотеката опростява процеса на имплементация. Библиотеката поддържа четене/писане на защитени с парола zip файлове и потоци, както и поддръжка на формат Zip64.

Библиотеката Zip4j се оказва ценен ресурс за Java разработчиците, търсещи надеждна и удобна за ползване библиотека за работа с ZIP файлове. Библиотеката поддържа широк набор от методи за компресиране, включително Deflate, Store, BZip2 и AES криптиране. Тази гъвкавост позволява на разработчиците да изберат метода за компресиране, който най‑добре отговаря на техните изисквания. Лесната й употреба, възможностите за криптиране и поддръжката на различни функции я правят предпочитан избор за проекти, включващи задачи по компресиране и декомпресиране. Докато софтуерните разработчици продължават да търсят ефективни начини за работа с ZIP файлове в Java, Zip4j се откроява като стабилно и универсално решение.

Previous Next

Започване с Zip4j

Препоръчителният начин за използване на Zip4j е чрез Maven хранилище. Можете лесно да използвате Zip4j API директно във вашите Maven проекти с прости конфигурации.

Jarchivelib Maven зависимост

<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j </artifactId>
<version>2.11.5</version>
<type>jar</type> <dependency>

Инсталиране чрез Git команда

 git clone https://github.com/srikanth-lingala/zip4j.git 

Можете да изтеглите библиотеката директно от GitHub

Създаване на ZIP файлове с помощта на Java библиотека

С Zip4j създаването на нови ZIP файлове е лесно. Библиотеката позволява на софтуерните разработчици да създават и редактират ZIP архив с няколко реда Java код. Библиотеката предоставя интуитивен API за добавяне на файлове към нов или съществуващ ZIP архив. Тя също поддържа няколко разширени функции като добавяне, извличане, актуализиране, премахване на файлове от ZIP файл програмно, прилагане на Unicode, разделяне и обединяване на архиви в Java приложения. Следният пример показва как софтуерните разработчици могат да създадат нов ZIP архив и да добавят файлове към него, използвайки Java команди.

Как да създадем нов ZIP архив и да добавим файлове към него чрез Java API?

import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;

public class ZipCreationExample {

    public static void main(String[] args) {
        try {
            // Create a new ZipFile object
            ZipFile zipFile = new ZipFile("example.zip");

            // Specify parameters for the file to be added
            ZipParameters parameters = new ZipParameters();
            parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // Set compression method
            parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // Set compression level

            // Add a file to the ZIP archive
            zipFile.addFile("file.txt", parameters);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Извличане на файлове от ZIP архиви чрез Java

Отвореният код Zip4j опростява процеса на извличане на файлове от ZIP архиви, предоставяйки лесен за използване API за декомпресия. Софтуерните разработчици могат лесно да изберат ZIP файл по свой избор, както и изходната директория. Също така е възможно да се извлече един файл от ZIP архив с ново име и местоположение. Следният пример демонстрира колко лесно софтуерните разработчици могат да извличат файлове от ZIP файл към целева директория в Java приложения.

Как да извлечем файлове от ZIP архив в Java приложения?

import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;

public class ExtractionExample {

    public static void main(String[] args) {
        try {
            // Specify the path to the ZIP archive
            ZipFile zipFile = new ZipFile("example.zip");

            // Specify the destination directory for extraction
            zipFile.extractAll("extracted_files/");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Разделяне и обединяване на архиви чрез Java

Големите файлове могат да бъдат предизвикателство за обработка, но Zip4j го прави по-лесно, като позволява на софтуерните разработчици да разделят ZIP файловете на по-малки части в Java приложения. Тази функция е полезна за ефективно прехвърляне или съхранение на големи архиви. Освен това библиотеката позволява сливането на разделени архиви, възстановявайки оригиналния ZIP файл безпроблемно. Следният метод може да се използва за сливане на ZIP файл, който е разделен на няколко файла, в единен ZIP файл.

Как да обединим ZIP файлове в един ZIP файл чрез Java API?


new ZipFile("split_zip_file.zip").mergeSplitFiles(new File("merged_zip_file.zip"));

Прилагане на криптиране и защита с парола

Сигурността е критичен аспект на компресията на файлове и Zip4j превъзхожда в тази област. Софтуерните разработчици могат лесно да криптират и защитят с парола своите ZIP файлове, като гарантират, че чувствителните данни остават сигурни. Библиотеката поддържа различни алгоритми за криптиране, включително AES (Advanced Encryption Standard). Zip4j позволява на разработчиците да криптират ZIP файлове със силни алгоритми за криптиране и да ги защитят с пароли, както е показано в следния пример с код.

Как да защитим данните чрез криптиране на ZIP файлове, използвайки Java API?


import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;

public class EncryptionExample {

    public static void main(String[] args) {
        try {
            // Create a new ZipFile object
            ZipFile zipFile = new ZipFile("encrypted.zip");

            // Specify encryption parameters
            ZipParameters parameters = new ZipParameters();
            parameters.setEncryptFiles(true);
            parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); // Use AES encryption
            parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); // Set key strength
            parameters.setPassword("secretpassword"); // Set password

            // Add files to the ZIP archive with encryption
            zipFile.addFile("file.txt", parameters);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 Български