ภาพรวม
ไฟล์เก็บถาวรที่ประกอบด้วยรายการมีวิธี createEntries สำหรับการบีบอัดทั้งโฟลเดอร์ วิธีการดังกล่าวเคารพโครงสร้างไดเร็กทอรีและเขียนซ้ำสำหรับโฟลเดอร์ย่อยทั้งหมด นอกจากนี้คุณยังสามารถเพิ่มรายการไฟล์เดียวลงในโฟลเดอร์ย่อยใดก็ได้ในไฟล์เก็บถาวรวิธีสร้างไฟล์ ZIP
เมธอด createEntry ใช้เพื่อเพิ่มแต่ละไฟล์ลงในไฟล์บีบอัดที่บีบอัด ในตัวอย่างนี้ เราไม่ได้ระบุการตั้งค่าการบีบอัดใดๆ ดังนั้นการตั้งค่าเริ่มต้นสำหรับรูปแบบที่เลือกจะถูกนำมาใช้
try (Archive archive = new Archive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.zip");
}
โค้ดนี้สร้างไฟล์เก็บถาวร ZIP ชื่อ "archive.zip" ที่ประกอบด้วยสองไฟล์: "data1.bin" และ "data2.bin" ต่อไปนี้คือรายละเอียดเกี่ยวกับวิธีการทำงาน:
- การจัดการทรัพยากรอัตโนมัติ: โค้ดใช้บล็อก try-with-resources เพื่อให้แน่ใจว่ามีการจัดการทรัพยากรที่เหมาะสม บล็อกนี้จะปิดออบเจ็กต์เก็บถาวรโดยอัตโนมัติเมื่อเสร็จสิ้น
- การเพิ่มไฟล์ไปยังไฟล์เก็บถาวร: ภายในบล็อก โค้ดใช้เมธอด createEntry สองครั้งเพื่อเพิ่มไฟล์ลงในไฟล์เก็บถาวร:
- รายการแรกชื่อ "first.bin" และมีเนื้อหาของไฟล์ "data1.bin"
- รายการที่สองชื่อ "second.bin" และมีเนื้อหาของไฟล์ "data2.bin" - การบันทึกไฟล์เก็บถาวร: สุดท้าย วิธีการบันทึกจะถูกเรียกใช้ วัตถุเก็บถาวรเพื่อบันทึกไฟล์ ZIP ที่สร้างขึ้นใหม่พร้อมรายการที่ระบุเป็น "archive.zip"
วิธีเพิ่มไฟล์ลงในไฟล์เก็บถาวร 7zip
หากต้องการเพิ่มไฟล์แนบหลายไฟล์ลงในไฟล์ 7zip ไฟล์เดียว เราใช้คลาส SevenZipArchive ร่วมกับเมธอด createEntry และบันทึกในลักษณะเดียวกัน
try (SevenZipArchive archive = new SevenZipArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.7z");
}
รหัสต่อไปนี้ดำเนินการเช่นเดียวกับรหัสก่อนหน้า แต่สำหรับรูปแบบ 7-ZIP
TAR สร้างไฟล์เก็บถาวร
การขยายไฟล์เก็บถาวรมักเกี่ยวข้องกับการแยก เพิ่มไฟล์ใหม่ และการบีบอัดใหม่ ซึ่งเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก Aspose.ZIP นำเสนอโซลูชันที่ชาญฉลาดยิ่งขึ้นใน Java เพียงเปิดไฟล์เก็บถาวรเพื่อแตกไฟล์และเพิ่มรายการใหม่โดยตรง หลีกเลี่ยงการบรรจุซ้ำโดยไม่จำเป็น วิธีการที่มีประสิทธิภาพนี้ใช้ได้กับรูปแบบไฟล์เก็บถาวร TAR
try (TarArchive archive = new TarArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.tar");
}
แอปพลิเคชันนี้แชร์ฟังก์ชันการทำงานของแอปพลิเคชันก่อนหน้า แต่ได้รับการปรับแต่งสำหรับไฟล์เก็บถาวรที่มีส่วนขยาย TAR
วิธีสร้างไฟล์ GZ
รูปแบบการบีบอัดเท่านั้นโดยไม่มีรายการ รูปแบบการบีบอัดเหล่านี้ รวมถึง GZIP, LZ, BZIP2, XZ และ Z ไม่รองรับรายการไฟล์ พวกเขาสามารถบีบอัดไฟล์ต้นฉบับได้ทีละไฟล์เท่านั้น
try (FileInputStream source = new FileInputStream("alice29.txt")) {
try (GzipArchive archive = new GzipArchive()) {
archive.setSource(source);
archive.save("archive.gz");
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
สร้าง TAR GZ
Aspose.ZIP นำเสนอวิธีที่สะดวกในการรวมรูปแบบไฟล์เก็บถาวรเท่านั้นและรูปแบบการบีบอัดเท่านั้นโดยใช้วิธีเดียว นี่คือตัวอย่างของฟังก์ชันนี้ที่มีการรวม TAR.GZ วิธีการนี้ใช้วิธี saveGzipped
try (TarArchive archive = new TarArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
archive.saveGzipped("archive.tar.gz");
}
สร้าง TARLZ
ขั้นแรก เราสร้างออบเจ็กต์ FileInputStream ซึ่งเชื่อมต่อกับไฟล์ที่จะเก็บถาวร ต่อไป เราสร้างวัตถุ LzipArchive ตั้งค่าแหล่งที่มาเป็นวัตถุ FileInputStream ที่สร้างไว้ก่อนหน้านี้ และบันทึกไฟล์เก็บถาวร
try (FileInputStream source = new FileInputStream("alice29.txt")) {
try (LzipArchive archive = new LzipArchive()) {
archive.setSource(source);
archive.save("archive.lz");
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
สร้างไฟล์ TAR BZ2
Aspose.ZIP เสนอวิธีการที่คล้ายกันสำหรับการบีบอัดไฟล์เก็บถาวรด้วยรูปแบบ LZIP, XZ, ZStandard และ Z อย่างไรก็ตาม BZIP2 จำเป็นต้องมีแนวทางที่แตกต่างออกไป
try (TarArchive tar = new TarArchive()) {
tar.createEntry("first.bin", "data1.bin");
tar.createEntry("second.bin", "data2.bin");
try (Bzip2Archive archive = new Bzip2Archive()) {
archive.setSource(tar);
archive.save("archive.tar.bz2");
}
}
การสร้างโค้ดนี้รวมการใช้รูปแบบไฟล์เก็บถาวรสองรูปแบบที่แตกต่างกัน ได้แก่ TAR และ Bzip2 คุณสมบัติหลักคือไฟล์เก็บถาวร TAR จะถูกสร้างขึ้นครั้งแรกโดยใช้คลาส TarArchive โดยการเพิ่มไฟล์หลายไฟล์ลงไปโดยใช้เมธอด createEntry จากนั้นไฟล์เก็บถาวรนี้จะถูกบีบอัดเป็นรูปแบบ Bzip2 โดยใช้คลาส Bzip2Archive
Aspose.ZIP อื่นๆ ที่รองรับสำหรับคุณสมบัติ Java API
ด้วยไลบรารี Aspose.ZIP ใน Java คุณสามารถจัดการงานต่างๆ ที่เกี่ยวข้องกับเอกสารไฟล์ ZIP ได้อย่างราบรื่น ไม่ว่าคุณจะต้องการแปลงรูปแบบ รวมไฟล์ แก้ไขเนื้อหา หรือแยกข้อมูล Aspose.ZIP มีฟังก์ชันการทำงานที่ครอบคลุมเพื่อปรับปรุงขั้นตอนการทำงานของคุณและปรับปรุงประสิทธิภาพการทำงาน
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