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("ไฟล์ไม่ถูกบีบอัด......."); }}ผลลัพธ์
ไฟล์ไม่ถูกบีบอัด.......