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

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


Java จัดเตรียมคลาสชื่อ InflaterInputStream คลาสนี้ใช้เพื่อยกเลิกการบีบอัดไฟล์ที่บีบอัด

เมธอด read() ของคลาสนี้อ่านข้อมูลบีบอัดไบต์เดียวจากสตรีมอินพุต หากต้องการยกเลิกการบีบอัดไฟล์ที่บีบอัดโดยใช้วิธีนี้ -

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

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.io.File; นำเข้า java.io.FileInputStream; นำเข้า java.io.FileOutputStream; นำเข้า java.io.IOException นำเข้า java.util.zip.InflaterInputStream; DeCompressingFiles คลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง) args []) พ่น IOException { StringinputPath ="D:\\ExampleDirectory\\compressed.txt"; // การตรวจสอบ FileInputStream FileInputStream inputStream =FileInputStream ใหม่ (inputPath); สตริงเอาท์พุต ="D:\\ExampleDirectory\\output.jpg"; FileOutputStream outputStream =FileOutputStream ใหม่ (outputpath); InflaterInputStream decompresser =ใหม่ InflaterInputStream (inputStream); เนื้อหาภายใน; ในขณะที่ ((contents=decompresser.read())!=-1){ outputStream.write(contents); } //ปิดไฟล์ outputStream.close(); คลายการบีบอัด.close(); System.out.println("ไฟล์ไม่ถูกบีบอัด......."); }}

ผลลัพธ์

ไฟล์ไม่ถูกบีบอัด.......