เรามักจะใช้ซอฟต์แวร์การบีบอัดเช่น Winzip เพื่อบีบอัดไฟล์เพื่อการส่งสัญญาณที่ง่าย Java ยังมีคลาสที่บีบอัดไฟล์เพื่อลดจำนวนข้อมูลในระหว่างการส่งซึ่งสามารถบีบอัดไฟล์ลงในซิป, JAR, GZIP ฯลฯ GZIP ส่วนใหญ่เป็นไฟล์บีบอัดภายใต้ระบบ Linux
ส่วนใหญ่พูดคุยเกี่ยวกับไฟล์ที่ถูกบีบอัดในรูปแบบ zip และไฟล์ที่บีบอัดในรูปแบบ JAR และ GZIP ก็ถูกนำมาใช้เช่นเดียวกัน
ZIP เป็นรูปแบบการบีบอัดที่พบบ่อยมาก ใน Java เพื่อใช้การบีบอัด ZIP การใช้งานหลักของคลาสในแพ็คเกจ java.util.zip ส่วนใหญ่รวมถึง zipfile, zipoutputstream, zipinputstream และ zipentry zipoutputStream ใช้ในการบีบอัดไฟล์ zipinputstream และ zipfile ใช้ในการบีบอัดไฟล์และ zipentry ใช้ในระหว่างการบีบอัดและการบีบอัด ในไฟล์บีบอัด Java Zip แต่ละไฟล์ย่อยเป็นวัตถุ Zipentry
ไฟล์บีบอัด:
นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.fileoutputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า java.nio.charset.charset; ZipOutputStreamTest {โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่น IOException {test1 (); test2 (); } โมฆะคงที่สาธารณะ test1 () พ่น IOException {zipOutputStream zos = new ZipOutputStream (ใหม่ fileOutputStream ("d: //testzip.zip"), charset.forname ("gbk")); // อินสแตนซ์วัตถุ Zipentry ชื่อ ab.txt zipentry entry = zipentry ใหม่ ("ab.txt"); // ตั้งค่าความคิดเห็น zos.setComment ("การทดสอบ zip สำหรับไฟล์เดียว"); // เพิ่มวัตถุ Zipentry ที่สร้างขึ้นลงในไฟล์ที่บีบอัดจากนั้นเนื้อหาที่เขียนลงในไฟล์ที่บีบอัดจะถูกวางไว้ในวัตถุ Zipentry Zos.putNextEntry (รายการ); inputStream คือ = ใหม่ FileInputStream ("D: //ab.txt"); int len = 0; ในขณะที่ ((len = is.read ())! = -1) zos.write (len); is.close (); zos.close (); } โมฆะคงที่สาธารณะ test2 () พ่น IOException {ไฟล์ infile = ไฟล์ใหม่ ("d: // test"); zipoutputStream zos = new ZipOutputStream (ใหม่ fileOutputStream ("d: //test.zip"), charset.forname ("gbk")); zos.setComment ("การประมวลผลแบบหลายไฟล์"); ZipFile (Infile, Zos, ""); zos.close (); } โมฆะคงที่สาธารณะ zipfile (ไฟล์ infile, zipoutputstream zos, string dir) พ่น ioexception {ถ้า (infile.isdirectory ()) {ไฟล์ [] ไฟล์ = infile.listfiles (); สำหรับ (ไฟล์ไฟล์: ไฟล์) zipfile (ไฟล์, zos, dir + "//" + infile.getName ()); } else {string entryName = null; if (! "". เท่ากับ (dir)) entryName = dir + "//" + infile.getName (); else entryName = infile.getName (); zipentry entry = new Zipentry (entryName); zos.putnextentry (รายการ); inputStream คือ = new FileInputStream (Infile); int len = 0; ในขณะที่ ((len = is.read ())! = -1) zos.write (len); is.close (); - เปิดซิปไฟล์:
นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.fileoutputstream; นำเข้า java.io.ioException; นำเข้า java.io.InputStream; นำเข้า java.io.OutputStream; นำเข้า Java.nio.charset.charset.charset. java.util.zip.zipfile; นำเข้า java.util.zip.zipinputstream; คลาสสาธารณะ zipinputStreamtest {โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่น IOException {ไฟล์ไฟล์ = ไฟล์ใหม่ ("d: //test.zip"); ไฟล์บีบอัด zip สามารถแสดงเป็น zipfile // อินสแตนซ์วัตถุ zipinputstream ของไฟล์บีบอัดซิปคุณสามารถใช้วิธี getNextentry () ของคลาสนี้เพื่อรับ zipinputStream zipinputStream = new ZipInputStream Zipentry Zipentry = null; ในขณะที่ ((zipentry = zipinputStream.getNextEntry ())! = null) {string filename = zipentry.getName (); ไฟล์ temp = ไฟล์ใหม่ ("d: // unpacktest //" + ชื่อไฟล์); if (! temp.getParentFile (). มีอยู่ ()) temp.getParentFile (). mkdirs (); OutputStream OS = ใหม่ fileOutputStream (TEMP); // รับสตรีมอินพุต zipentry เฉพาะผ่านวิธี getInputStream ของ zipfile inputstream คือ = zipfile.getInputStream (zipentry); int len = 0; ในขณะที่ ((len = is.read ())! = -1) os.write (len); os.close (); is.close (); } zipinputStream.close (); -ข้างต้นเป็นการรวบรวมข้อมูลเกี่ยวกับการบีบอัด Java และไฟล์บีบอัด เราจะยังคงเพิ่มข้อมูลที่เกี่ยวข้องในอนาคต ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!