Tổng quan
Đôi khi chúng ta cần kết hợp các file để xử lý tốt hơn mà không nhất thiết phải nén chúng. Khi xử lý các định dạng đã được nén như JPEG hoặc DOCX, việc nén thêm sẽ giúp tiết kiệm dung lượng ở mức tối thiểu. Việc lưu trữ các tệp không nén cũng có lợi khi việc truy cập nhanh vào các tệp riêng lẻ là cần thiết, vì các kho lưu trữ nén yêu cầu giải nén trước tiên. Trong các tình huống có tài nguyên tính toán hạn chế, việc chọn lưu trữ không nén có thể giảm chi phí xử lý, đảm bảo quá trình lưu trữ và trích xuất nhanh hơn mà không phải chịu gánh nặng của thuật toán nén.Aspose.ZIP hỗ trợ một số định dạng lưu trữ để lưu trữ dữ liệu của bạn. Đây là cách tạo các kho lưu trữ như vậy.
Cách lưu trữ tệp trong kho lưu trữ ZIP không nén bằng Java
Khi xử lý các tình huống trong đó kích thước tệp không phải là mối quan tâm lớn, Java cho phép bạn lưu trữ tệp một cách hiệu quả trong kho lưu trữ ZIP mà không cần áp dụng nén. Điều này đặc biệt có lợi cho các tình huống trong đó việc duy trì cấu trúc tệp gốc và đảm bảo quyền truy cập nhanh vào từng tệp là rất quan trọng. Để lưu trữ tệp trong kho lưu trữ ZIP, hãy sử dụng
StoreCompressionSetting
trong khi khởi tạo
Archive
.
Đây là cách đạt được bộ nhớ không nén trong Java:
try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
File fi1 = new File("alice29.txt");
File fi2 = new File("asyoulik.txt");
try (Archive archive = new Archive(new ArchiveEntrySettings(new StoreCompressionSettings()))) {
archive.createEntry("alice29.txt", fi1);
archive.createEntry("lcet10.txt", fi2);
archive.save(zipFile);
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
Cách thêm tệp vào kho lưu trữ 7Z mà không cần nén
Tương tự, khi bạn muốn giữ các tệp trong kho lưu trữ 7z, hãy sử dụng
SevenZipStoreCompressionSetting
trong khi khởi tạo
SevenZipArchive
. Điều này đảm bảo rằng các tệp được đưa vào kho lưu trữ nguyên trạng mà không trải qua bất kỳ thuật toán nén nào. Cách tiếp cận này đặc biệt có lợi cho các nhà phát triển Java ưu tiên truy cập nhanh vào từng tệp riêng lẻ vì nó loại bỏ nhu cầu giải nén trước khi sử dụng tệp.
Lưu ý: Mã ví dụ này hoạt động với Aspose.ZIP dành cho Java phiên bản 24.4 trở lên
try (FileOutputStream szFile = new FileOutputStream("archive.7z")) {
File fi1 = new File("alice29.txt");
File fi2 = new File("asyoulik.txt");
try (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipStoreCompressionSettings()))) {
archive.createEntry("alice29.txt", fi1);
archive.createEntry("lcet10.txt", fi2);
archive.save(szFile);
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
Lưu trữ hiệu quả các tệp không nén trong kho lưu trữ TAR
Các định dạng ZIP và 7z, nổi tiếng về khả năng nén, mặc dù có khả năng lưu trữ không nén. Ngược lại, tồn tại các định dạng được hình thành cụ thể cho mục đích lưu trữ ban đầu. CPIO và Tar, cả hai đều đóng vai trò then chốt trong lịch sử ban đầu của hệ điều hành dựa trên Unix, nổi lên vào những năm 1970 như những công cụ cơ bản để lưu trữ và quản lý tệp.
Không giống như các định dạng lưu trữ nén như ZIP, mục đích chính của tar là kết hợp nhiều tệp và thư mục vào một tệp lưu trữ duy nhất mà không cần nén. Sử dụng
phiên bản TarArchive
mà không cần bất kỳ cài đặt nào cho bố cục
Mẫu:
try (FileOutputStream tarFile = new FileOutputStream("joint.tar")) {
File fi1 = new File("text.txt");
File fi2 = new File("picture.png");
try (TarArchive archive = new TarArchive()) {
archive.createEntry("text.txt", fi1);
archive.createEntry("picture.png", fi2);
archive.save(tarFile);
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
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