Sažimanje datoteke pomoću DeflaterOutputStream
Ova klasa implementira filtar izlaznog toka za komprimiranje podataka u 'deflate' kompresijskom formatu. Također se koristi kao osnova za druge vrste kompresijskih filtara kao što je GZIPOutputStream. Važne metode:- Uzmite ulaznu datoteku 'file 1' u FileInputStream za čitanje podataka.
- Uzmite izlaznu datoteku 'file 2' i dodijelite je FileOutputStream. Ovo će pomoći upisivanju podataka u 'file2'.
- Dodijelite FileOutputStream DeflaterOutputStream za komprimiranje podataka.
- Sada pročitajte podatke iz FileInputStream i zapišite ih u DeflaterOutputStream. Komprimirati će podatke i poslati ih u FileOutputStream koji pohranjuje komprimirane podatke u izlaznu datoteku.
- Datoteka pod nazivom 'file2' sada sadrži komprimirane podatke i moramo dobiti izvorne dekomprimirane podatke iz te datoteke.
- Dodijelite komprimiranu datoteku 'file2' FileInputStream-u. Ovo pomaže u čitanju podataka iz 'file2'.
- Dodijelite izlaznu datoteku 'file3' FileOutputStream-u. To će pomoći pri zapisivanju nekomprimiranih podataka u 'file3'.
- Sada pročitajte nekomprimirane podatke iz InflaterInputStream i zapišite ih u FileOutputStream. Ovo će zapisati nekomprimirane podatke u '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(); } }
Dekomprimiranje datoteke pomoću InflaterInputStream
Ova klasa implementira filtar toka za dekomprimiranje podataka u formatu kompresije 'deflate'. Također se koristi kao osnova za druge dekompresijske filtre kao što je GZIPInputStream. Važne metode: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(); } }
Napravi kviz