Thư viện Java ZIP để Tạo & Quản lý Kho ZIP

Thư viện Java mã nguồn mở hỗ trợ tạo, giải nén và chỉnh sửa tệp ZIP một cách lập trình. Nó hỗ trợ Unicode, chia và hợp nhất các kho lưu trữ qua API Java.

Trong thế giới lập trình Java, việc xử lý các tệp zip một cách hiệu quả là một yêu cầu phổ biến. Dù là để nén tệp nhằm lưu trữ hay truyền dữ liệu qua mạng, một thư viện đáng tin cậy có thể tạo ra sự khác biệt lớn. Một viên ngọc trong hệ sinh thái Java là thư viện Zip4j, một công cụ mạnh mẽ để làm việc với các tệp zip. Hãy khám phá những gì khiến Zip4j trở thành lựa chọn ưu tiên của các nhà phát triển và tìm hiểu các tính năng cũng như lợi ích của nó. Được phát triển bởi Srikanth Lingala, Zip4j đơn giản hoá các thao tác phức tạp với tệp zip, cung cấp cho các nhà phát triển một cách tiếp cận liền mạch để làm việc với các kho lưu trữ trong các ứng dụng Java của họ.

Zip4j là một thư viện Java mã nguồn mở cung cấp giao diện dễ sử dụng để tạo, giải nén và chỉnh sửa các tệp zip một cách lập trình. Thư viện Zip4j cung cấp một API đơn giản cho phép các nhà phát triển phần mềm thực hiện các thao tác ZIP thông thường với ít mã nhất. Cho dù là tạo một tệp ZIP mới, giải nén các tệp, hay cập nhật một kho lưu trữ hiện có, thiết kế trực quan của thư viện giúp đơn giản hoá quá trình triển khai. Thư viện hỗ trợ các tệp zip được bảo vệ bằng mật khẩu đọc/ghi và luồng dữ liệu, cũng như hỗ trợ định dạng Zip64.

Thư viện Zip4j chứng tỏ là một tài sản quý giá cho các nhà phát triển Java đang tìm kiếm một thư viện đáng tin cậy và thân thiện với người dùng để thao tác với các tệp ZIP. Thư viện hỗ trợ một loạt các phương pháp nén, bao gồm Deflate, Store, BZip2 và mã hóa AES. Sự linh hoạt này cho phép các nhà phát triển chọn phương pháp nén phù hợp nhất với yêu cầu của họ. Độ dễ sử dụng, khả năng mã hóa và hỗ trợ nhiều tính năng khiến nó trở thành lựa chọn hàng đầu cho các dự án liên quan đến nhiệm vụ nén và giải nén. Khi các nhà phát triển phần mềm tiếp tục khám phá các cách hiệu quả để xử lý tệp ZIP trong Java, Zip4j nổi bật như một giải pháp mạnh mẽ và đa năng.

Previous Next

Bắt đầu với Zip4j

Cách khuyến nghị để sử dụng Zip4j là thông qua kho Maven. Bạn có thể dễ dàng sử dụng API Zip4j trực tiếp trong các dự án Maven của mình với cấu hình đơn giản.

Phụ thuộc Maven của Jarchivelib

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

Cài đặt qua lệnh Git

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

Bạn có thể tải thư viện trực tiếp từ GitHub

Tạo tệp Zip bằng Thư viện Java

Với Zip4j, việc tạo các tệp ZIP mới trở nên dễ dàng. Thư viện cho phép các nhà phát triển phần mềm tạo cũng như chỉnh sửa một kho ZIP chỉ với vài dòng mã Java. Thư viện cung cấp một API trực quan để thêm tệp vào một kho ZIP mới hoặc đã tồn tại. Nó cũng hỗ trợ một số tính năng nâng cao như thêm, giải nén, cập nhật, xóa các tệp khỏi tệp zip một cách lập trình, áp dụng Unicode, chia và hợp nhất các kho trong các ứng dụng Java. Ví dụ sau đây cho thấy cách các nhà phát triển phần mềm có thể tạo một kho ZIP mới và thêm tệp vào đó bằng các lệnh Java.

Cách tạo một tệp ZIP mới và thêm tệp vào nó qua 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();
        }
    }
}

Giải nén tệp từ các kho ZIP bằng Java

Zip4j mã nguồn mở đơn giản hoá quá trình giải nén các tệp từ các kho ZIP, cung cấp một API dễ sử dụng cho việc giải nén. Các nhà phát triển phần mềm có thể dễ dàng chọn một tệp ZIP theo ý muốn cũng như thư mục đầu ra. Ngoài ra, cũng có thể giải nén một tệp duy nhất từ một kho ZIP với tên và vị trí mới. Ví dụ sau đây minh họa cách các nhà phát triển phần mềm có thể dễ dàng giải nén các tệp từ tệp ZIP tới một thư mục đích trong các ứng dụng Java.

Cách trích xuất tệp từ tệp ZIP trong các ứng dụng 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();
        }
    }
}

Chia và hợp nhất các kho lưu trữ bằng Java

Các tệp lớn có thể khó xử lý, nhưng Zip4j giúp dễ dàng hơn bằng cách cho phép các nhà phát triển phần mềm chia các tệp ZIP thành các phần nhỏ hơn trong các ứng dụng Java. Tính năng này hữu ích cho việc truyền hoặc lưu trữ các kho lưu trữ lớn một cách hiệu quả. Ngoài ra, thư viện còn cho phép hợp nhất các kho lưu trữ đã chia, khôi phục tệp ZIP gốc một cách liền mạch. Phương pháp sau có thể được sử dụng để hợp nhất một tệp zip đã được chia thành nhiều tệp thành một tệp zip duy nhất.

Cách hợp nhất các tệp ZIP thành một tệp ZIP duy nhất qua Java API?


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

Áp dụng mã hóa và bảo vệ bằng mật khẩu

Bảo mật là một khía cạnh quan trọng của việc nén tệp, và Zip4j xuất sắc trong lĩnh vực này. Các nhà phát triển phần mềm có thể dễ dàng mã hóa và bảo vệ bằng mật khẩu các tệp ZIP của mình, đảm bảo dữ liệu nhạy cảm luôn được bảo vệ. Thư viện hỗ trợ nhiều thuật toán mã hóa, bao gồm AES (Tiêu chuẩn Mã hóa Nâng cao). Zip4j cho phép các nhà phát triển mã hóa các tệp ZIP bằng các thuật toán mã hóa mạnh và bảo vệ chúng bằng mật khẩu như trong ví dụ mã sau.

Cách bảo mật dữ liệu bằng cách mã hóa các tệp ZIP sử dụng 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();
        }
    }
}

 Tiếng Việt