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 виділяється як надійне та універсальне рішення.
Початок роботи з Zip4j
Рекомендований спосіб використання Zip4j — через репозиторій Maven. Ви можете легко використовувати API Zip4j безпосередньо у ваших Maven‑проектах за допомогою простих налаштувань.
Залежність Maven Jarchivelib
<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();
}
}
}