Tổng quan
Các kho lưu trữ bao gồm các mục có phương thức createEntries để nén toàn bộ thư mục. Các phương thức như vậy tôn trọng cấu trúc thư mục và soạn thảo thường xuyên cho tất cả các thư mục con. Ngoài ra, bạn có thể thêm một mục nhập tệp vào thư mục con tùy ý ở bất kỳ đâu trong kho lưu trữ.Cách nén một thư mục
Nếu bạn muốn tạo một kho lưu trữ ZIP từ toàn bộ thư mục trong khi vẫn giữ nguyên cấu trúc, bạn có thể sử dụng API Aspose.Zip cho Java và đoạn mã sau. Cấu trúc try-with-resources tự động đóng tài nguyên Lưu trữ sau khi tất cả mã đã được thực thi, bất kể tất cả các tệp có được đóng đúng cách hay không. Đường dẫn được chỉ định trong đối tượng Tệp corpus cho biết thư mục sẽ được nén. Với createEntries, mỗi thành phần của kho lưu trữ được thêm riêng biệt, do đó giữ nguyên cấu trúc ban đầu, được lưu trữ trong một tệp có tên archive.zip. Điều quan trọng cần lưu ý là mã không kiểm tra sự tồn tại của thư mục "D:\Data" hay sự hiện diện của các tệp trong đó. Nếu thư mục không tồn tại hoặc trống, mã sẽ không tạo bất kỳ kho lưu trữ nào.
Phương thức
CreateEntries
có tham số thứ hai tùy chọn includeRootDirectory. cho biết liệu thư mục gốc có cần được đưa vào kho lưu trữ hay không. Mặc định là đúng, vì vậy trong mẫu trên tất cả các mục lưu trữ sẽ nằm trong thư mục "Dữ liệu". Nếu bạn chỉ muốn thêm nội dung thư mục thì chuyển sai vào đó.
Mẫu - Tạo kho lưu trữ từ thư mục:
try (Archive archive = new Archive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.zip");
}
Ví dụ về mã sau đây tạo một kho lưu trữ ZIP có hai tệp: "image.bmp" và "lyrics.txt". Các biến fi1 và fi2 đại diện cho các tệp này. Phương thức createEntry của đối tượng lưu trữ được sử dụng để thêm từng tệp vào kho lưu trữ với các đường dẫn được chỉ định: "data\pictures" cho "image.bmp" và "data\text" cho "lyrics.txt". Tóm lại, mã này tạo một kho lưu trữ ZIP có tên "archive.zip" chứa hai thư mục, "data\pictures" và "data\text", mỗi thư mục chứa một trong các tệp tương ứng.
try (Archive archive = new Archive()) {
File fi1 = new File("image.bmp");
File fi2 = new File("lyrics.txt");
archive.createEntry("data\\pictures\\photo.bmp", fi1);
archive.createEntry("data\\text\\song.txt", fi2);
archive.save("archive.zip");
}
Cách nén thư mục trong 7-ZIP tôn trọng cấu trúc của nó
Đoạn mã sau đây trình bày cách tạo một kho lưu trữ 7Z và thêm tất cả các tệp và thư mục từ thư mục được chỉ định vào đó. Nó hoạt động tương tự như một kho lưu trữ có định dạng tệp ZIP. CreateEntries là phương pháp tương tự của kho lưu trữ 7Z. Nó cũng có tham số includeRootDirectory. Quan trọng: sẽ được triển khai trong Aspose.ZIP for Java 24.4
try (SevenZipArchive archive = new SevenZipArchive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.7z");
}
Cách nén thư mục trong TAR mà vẫn giữ nguyên cấu trúc của nó
Mã tạo một kho lưu trữ TAR cho thư mục được chỉ định. Nó sử dụng lớp TarArchive từ API Lưu trữ Java để đạt được điều này. Phương thức
createEntries
thêm tất cả các tệp và thư mục từ thư mục vào kho lưu trữ, bảo tồn cấu trúc thư mục. Cuối cùng, phương thức lưu ghi nội dung của kho lưu trữ vào tệp "archive.tar".
Mẫu:
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.save("archive.tar");
}
Mã được cung cấp sẽ tạo một kho lưu trữ TAR có tên là "archive.tar" chứa hai mục nhập. Lưu trữ thư mục - Nó thêm tất cả các tệp và thư mục từ thư mục "D:\Data" vào kho lưu trữ, bảo toàn cấu trúc thư mục. Điều này lưu trữ hiệu quả toàn bộ nội dung của thư mục được chỉ định. Và mục nhập tệp đơn - Nó thêm một tệp cụ thể có tên "data.bin" từ thư mục con "bên trong" vào kho lưu trữ. Điều này cho phép bao gồm một tệp cụ thể mà không cần lưu trữ toàn bộ cấu trúc thư mục. Tóm lại, mã này tạo một kho lưu trữ TAR kết hợp cả lưu trữ cấp thư mục và đưa vào tệp riêng lẻ.
Mẫu 2 – Kết hợp thư mục lưu trữ và
tệp đơn
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.createEntry("inner\\data.bin", "data.bin");
archive.save("archive.tar");
}
Aspose.ZIP được hỗ trợ khác cho các tính năng API Java
Với thư viện Aspose.ZIP trong Java, bạn có thể xử lý liền mạch các tác vụ khác nhau liên quan đến tài liệu tệp ZIP. Cho dù bạn cần chuyển đổi định dạng, hợp nhất tệp, chỉnh sửa nội dung hay trích xuất dữ liệu, Aspose.ZIP đều cung cấp chức năng toàn diện để hợp lý hóa quy trình làm việc của bạn và nâng cao năng suất.
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