ضغط ملف باستخدام DeflaterOutputStream
تطبق هذه الفئة مرشح دفق الإخراج لضغط البيانات بتنسيق الضغط "الانكماش". كما يتم استخدامه كأساس لأنواع أخرى من مرشحات الضغط مثل GZIPOutputStream. طرق هامة:- خذ ملف الإدخال "ملف 1" إلى FileInputStream لقراءة البيانات.
- خذ ملف الإخراج "ملف 2" وقم بتعيينه إلى FileOutputStream. سيساعد هذا في كتابة البيانات في "file2".
- قم بتعيين FileOutputStream إلى DeflaterOutputStream لضغط البيانات.
- اقرأ الآن البيانات من FileInputStream واكتبها في DeflaterOutputStream. سيقوم بضغط البيانات وإرسالها إلى FileOutputStream الذي يقوم بتخزين البيانات المضغوطة في ملف الإخراج.
- يحتوي الملف الذي يحمل الاسم "file2" الآن على بيانات مضغوطة ونحتاج إلى الحصول على البيانات الأصلية التي تم فك ضغطها من هذا الملف.
- قم بتعيين الملف المضغوط "file2" إلى FileInputStream. وهذا يساعد على قراءة البيانات من "file2".
- قم بتعيين ملف الإخراج "file3" إلى FileOutputStream. سيساعد هذا في كتابة البيانات غير المضغوطة في "file3".
- اقرأ الآن البيانات غير المضغوطة من InflaterInputStream واكتبها في FileOutputStream. سيؤدي هذا إلى كتابة البيانات غير المضغوطة إلى "file3".
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.Deflater; import java.util.zip.DeflaterOutputStream; class zip { public static void main(String[] args) throws IOException { //Assign the original file : file to //FileInputStream for reading data FileInputStream fis=new FileInputStream('file1'); //Assign compressed file:file2 to FileOutputStream FileOutputStream fos=new FileOutputStream('file2'); //Assign FileOutputStream to DeflaterOutputStream DeflaterOutputStream dos=new DeflaterOutputStream(fos); //read data from FileInputStream and write it into DeflaterOutputStream int data; while ((data=fis.read())!=-1) { dos.write(data); } //close the file fis.close(); dos.close(); } }
فك ضغط الملف باستخدام InflaterInputStream
تطبق هذه الفئة مرشح دفق لفك ضغط البيانات بتنسيق الضغط "الانكماش". كما يتم استخدامه كأساس لمرشحات إلغاء الضغط الأخرى مثل GZIPInputStream. طرق مهمة:import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.InflaterInputStream; //Uncompressing a file using an InflaterInputStream class unzip { public static void main(String[] args) throws IOException { //assign Input File : file2 to FileInputStream for reading data FileInputStream fis=new FileInputStream('file2'); //assign output file: file3 to FileOutputStream for reading the data FileOutputStream fos=new FileOutputStream('file3'); //assign inflaterInputStream to FileInputStream for uncompressing the data InflaterInputStream iis=new InflaterInputStream(fis); //read data from inflaterInputStream and write it into FileOutputStream int data; while((data=iis.read())!=-1) { fos.write(data); } //close the files fos.close(); iis.close(); } }
إنشاء اختبار