Стиснення файлу за допомогою DeflaterOutputStream
Цей клас реалізує фільтр вихідного потоку для стиснення даних у форматі стиснення 'deflate'. Він також використовується як основа для інших типів фільтрів стиснення, таких як GZIPOutputStream. Важливі методи:- Передайте вхідний файл «файл 1» у FileInputStream для читання даних.
- Візьміть вихідний файл «file 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
Цей клас реалізує фільтр потоку для розпакування даних у форматі стиснення «deflate». Він також використовується як основа для інших фільтрів декомпресії, таких як 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(); } }
Створіть вікторину