Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะบีบอัดไฟล์ใน Java ได้อย่างไร?


คลาส DeflaterOutputStream ของ Java ใช้เพื่อบีบอัดข้อมูลที่กำหนดและสตรีมไปยังปลายทาง

วิธีการเขียน () ของคลาสนี้ยอมรับข้อมูล (ในรูปแบบจำนวนเต็มและไบต์) บีบอัดข้อมูลและเขียนไปยังปลายทางของวัตถุ DeflaterOutputStream ปัจจุบัน วิธีบีบอัดไฟล์ด้วยวิธีนี้ &ลบ;

  • สร้าง FileInputStream วัตถุ โดยส่งเส้นทางของไฟล์ที่จะบีบอัดในรูปแบบสตริงเป็นพารามิเตอร์ไปยังตัวสร้าง
  • สร้าง FileOutputStream ออบเจ็กต์ โดยส่งพาธของไฟล์เอาต์พุต ในรูปแบบสตริง เป็นพารามิเตอร์ไปยังตัวสร้าง
  • สร้าง DeflaterOutputStream วัตถุโดยส่ง FileOutputStream . ที่สร้างขึ้นด้านบน ออบเจ็กต์ เป็นพารามิเตอร์ของคอนสตรัคเตอร์
  • จากนั้น อ่านเนื้อหาของไฟล์อินพุตและเขียนโดยใช้เมธอด write() ของคลาส DeflaterOutputStream

ตัวอย่าง

<ก่อน> นำเข้า java.io.FileOutputStream; นำเข้า java.io.IOException; นำเข้า java.util.zip.DeflaterOutputStream; คลาสสาธารณะ CompressingFiles { โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่น IOException {// อินสแตนซ์ของ FileInputStream String inputPath ="D:\\ExampleDirectory\\logo.jpg"; FileInputStream inputStream =FileInputStream ใหม่ (inputPath); //ตรวจสอบ FileOutputStream String outputPath ="D:\\ExampleDirectory\\compressedLogo.txt"; FileOutputStream outputStream =FileOutputStream ใหม่ (outputPath); //สร้างตัวอย่างให้กับตัวบีบอัด DeflaterOutputStream DeflaterOutputStream =DeflaterOutputStream ใหม่ (outputStream); เนื้อหาภายใน; ในขณะที่ ((contents=inputStream.read())!=-1){ compresser.write(contents); } compresser.close(); System.out.println("ไฟล์บีบอัด......."); }}

ผลลัพธ์

บีบอัดไฟล์.......