Komprimera en fil med DeflaterOutputStream
Den här klassen implementerar ett utströmsfilter för att komprimera data i komprimeringsformatet "deflate". Den används också som grund för andra typer av komprimeringsfilter som GZIPOutputStream. Viktiga metoder:- Ta en indatafil "fil 1" till FileInputStream för att läsa data.
- Ta utdatafilen "fil 2" och tilldela den till FileOutputStream . Detta kommer att hjälpa till att skriva data till "fil2".
- Tilldela FileOutputStream till DeflaterOutputStream för att komprimera data.
- Läs nu data från FileInputStream och skriv in den i DeflaterOutputStream. Den kommer att komprimera data och skicka den till FileOutputStream som lagrar den komprimerade data i utdatafilen.
- Filen med namnet 'fil2' innehåller nu komprimerad data och vi behöver hämta original dekomprimerad data från denna fil.
- Tilldela den komprimerade filen "file2" till FileInputStream. Detta hjälper till att läsa data från "fil2".
- Tilldela utdatafilen "file3" till FileOutputStream. Detta kommer att hjälpa till att skriva okomprimerad data till "file3".
- Läs nu okomprimerad data från InflaterInputStream och skriv in den i FileOutputStream. Detta kommer att skriva okomprimerad data till "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(); } }
Dekomprimera en fil med InflaterInputStream
Den här klassen implementerar ett strömfilter för att avkomprimera data i komprimeringsformatet "deflate". Den används också som grund för andra dekompressionsfilter som GZIPInputStream. Viktiga 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(); } }
Skapa frågesport