Komprimering av en fil ved hjelp av DeflaterOutputStream
Denne klassen implementerer et utgangsstrømfilter for å komprimere data i "deflate"-komprimeringsformatet. Den brukes også som grunnlag for andre typer kompresjonsfiltre som GZIPOutputStream. Viktige metoder:- Ta en inndatafil 'fil 1' til FileInputStream for å lese data.
- Ta utdatafilen 'fil 2' og tilordne den til FileOutputStream . Dette vil bidra til å skrive data inn i 'fil2'.
- Tilordne FileOutputStream til DeflaterOutputStream for å komprimere dataene.
- Les nå data fra FileInputStream og skriv dem inn i DeflaterOutputStream. Den vil komprimere dataene og sende dem til FileOutputStream som lagrer de komprimerte dataene i utdatafilen.
- Fil med navnet 'fil2' inneholder nå komprimerte data, og vi må hente originale dekomprimerte data fra denne filen.
- Tilordne den komprimerte filen "file2" til FileInputStream. Dette hjelper deg med å lese data fra 'fil2'.
- Tilordne utdatafilen 'file3' til FileOutputStream. Dette vil bidra til å skrive ukomprimerte data inn i 'fil3'.
- Les nå ukomprimerte data fra InflaterInputStream og skriv dem inn i FileOutputStream. Dette vil skrive de ukomprimerte dataene til '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(); } }
Dekomprimering av en fil ved hjelp av InflaterInputStream
Denne klassen implementerer et strømfilter for å dekomprimere data i "deflate"-komprimeringsformatet. Den brukes også som grunnlag for andre dekompresjonsfiltre som GZIPInputStream. Viktige metoder: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(); } }
Lag quiz