Compressione di un file utilizzando DeflaterOutputStream
Questa classe implementa un filtro del flusso di output per comprimere i dati nel formato di compressione "deflate". Viene utilizzato anche come base per altri tipi di filtri di compressione come GZIPOutputStream. Metodi importanti:- Prendi un file di input "file 1" su FileInputStream per leggere i dati.
- Prendi il file di output "file 2" e assegnalo a FileOutputStream . Ciò aiuterà a scrivere i dati in "file2".
- Assegna FileOutputStream a DeflaterOutputStream per la compressione dei dati.
- Ora leggi i dati da FileInputStream e scrivili in DeflaterOutputStream. Comprimerà i dati e li invierà a FileOutputStream che memorizza i dati compressi nel file di output.
- Il file con il nome "file2" ora contiene dati compressi e dobbiamo ottenere i dati decompressi originali da questo file.
- Assegna il file compresso "file2" a FileInputStream. Questo aiuta a leggere i dati da "file2".
- Assegna il file di output "file3" a FileOutputStream. Ciò aiuterà a scrivere i dati non compressi in "file3".
- Ora leggi i dati non compressi da InflaterInputStream e scrivili in FileOutputStream. Questo scriverà i dati non compressi in "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(); } }
Decompressione di un file utilizzando InflaterInputStream
Questa classe implementa un filtro del flusso per decomprimere i dati nel formato di compressione "deflate". Viene anche utilizzato come base per altri filtri di decompressione come GZIPInputStream. Metodi importanti: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(); } }
Crea quiz