วิธีสร้าง .zip หรือ .tar โดยทางโปรแกรมใน Java โดยใช้ Apache Commons Archivers and Compressors

เผยแพร่แล้ว: 2016-03-08

วิธีสร้าง .zip และ .tar ใน Java โดยทางโปรแกรม

พื้นฐาน Apache โดยค่าเริ่มต้นมาพร้อมกับยูทิลิตี้มากมายให้เราใช้ ในกรณีส่วนใหญ่ เราไม่ทราบถึงยูทิลิตี้ที่มีอยู่เพื่อใช้ในสภาพแวดล้อมการผลิตของเรา

ในบทช่วยสอนนี้ เราจะพูดถึงยูทิลิตี้ตัวใดตัวหนึ่งที่เราสามารถบีบอัดไฟล์หรือไดเร็กทอรีใดๆ โดยทางโปรแกรมใน Java กล่าวอีกนัยหนึ่งยูทิลิตี้เก็บถาวรอย่างง่าย

ทำไมเราต้องการยูทิลิตี้นี้?

ครั้งหนึ่งฉันเคยเขียนบทความเกี่ยวกับวิธีการอัปโหลดไฟล์โดยใช้สถาปัตยกรรม Spring MVC หากคุณมีไฟล์ขนาดใหญ่มากและคุณกำลังโฮสต์ไฟล์ผู้ใช้รายอื่นในระบบไฟล์บางระบบ เช่น netapp หรือ filer หรืออื่น ๆ คุณอาจต้องบีบอัดไฟล์ก่อนอัปโหลด คุณสามารถแต่งงานกับโค้ดด้านล่างในใบสมัครของคุณเพื่อบรรลุวัตถุประสงค์เดียวกัน

มาเช็คเอาต์ผลลัพธ์กันก่อนเพื่อให้เข้าใจมากขึ้น:

ก่อน:

Crunchify Tar Utility - ไฟล์และไดเรกทอรี .zip หรือ .tar

หลังจาก:

crunchify*.zip ไฟล์ที่สร้างโดยโปรแกรม Java

มาเริ่มกันเลย:

  • สร้างคลาส CrunchifyCompressArchivesUtility.java
  • เพิ่มการพึ่งพา maven ด้านล่างให้กับโครงการของคุณ
  • หากคุณไม่มีโปรเจ็กต์ maven ให้ทำตามขั้นตอนเหล่านี้

  • เราจะใช้ยูทิลิตี้ compress archivers Apache Commons
  • คลาส TarArchiveEntry แสดงถึงรายการในไฟล์เก็บถาวร Tar ประกอบด้วยส่วนหัวของรายการ เช่นเดียวกับไฟล์ของรายการ รายการสามารถสร้างอินสแตนซ์ได้ด้วยวิธีใดวิธีหนึ่งจากสามวิธี ขึ้นอยู่กับว่าจะใช้งานอย่างไร
  • คลาส TarArchiveOutputStream เขียนไฟล์ tar ของ UNIX เป็นไฟล์ OutputStream
  • เราจะเก็บถาวรเพียงไฟล์ก่อน
  • นอกจากนี้ในโปรแกรมเดียวกันเราจะเก็บไดเร็กทอรี
  • เราจะแปลงไฟล์และไดเร็กทอรีเป็นไฟล์ .zip หากคุณต้องการ . .tar ก็แค่เปลี่ยนรหัสด้านล่าง
  • กรุณาเปลี่ยนเส้นทางในรหัสด้านล่าง

เอาท์พุต