Comprimir un archivo usando DeflaterOutputStream
Esta clase implementa un filtro de flujo de salida para comprimir datos en el formato de compresión 'deflate'. También se utiliza como base para otros tipos de filtros de compresión como GZIPOutputStream. Métodos importantes:- Lleve un archivo de entrada 'archivo 1' a FileInputStream para leer datos.
- Tome el archivo de salida 'archivo 2' y asígnelo a FileOutputStream. Esto ayudará a escribir datos en el "archivo2".
- Asigne FileOutputStream a DeflaterOutputStream para comprimir los datos.
- Ahora lea los datos de FileInputStream y escríbalos en DeflaterOutputStream. Comprimirá los datos y los enviará a FileOutputStream, que almacena los datos comprimidos en el archivo de salida.
- El archivo con el nombre "archivo2" ahora contiene datos comprimidos y necesitamos obtener datos descomprimidos originales de este archivo.
- Asigne el archivo comprimido 'file2' a FileInputStream. Esto ayuda a leer datos del "archivo2".
- Asigne el archivo de salida 'file3' a FileOutputStream. Esto ayudará a escribir datos sin comprimir en el "archivo3".
- Ahora lea los datos sin comprimir de InflaterInputStream y escríbalos en FileOutputStream. Esto escribirá los datos sin comprimir en el "archivo3".
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(); } }
Descomprimir un archivo usando InflaterInputStream
Esta clase implementa un filtro de flujo para descomprimir datos en el formato de compresión 'deflate'. También se utiliza como base para otros filtros de descompresión como GZIPInputStream. Métodos importantes: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(); } }
Crear cuestionario