El paquete java.util.zip proporciona clases para comprimir y descomprimir el contenido del archivo. Las clases FileInputStream, FileOutputStream y GZIPOutputStream se proporcionan en Java para comprimir y descomprimir los archivos.
Comprimir un archivo usando GZIPOutputStream
Métodos utilizados en el programa.
- read(): Lee un byte de datos. Presente en FileInputStream.
int read()
- write(): escribe un byte de datos, presente en FileOutputStream.
void write(int b)
En este ejemplo, tenemos un archivo de texto en la unidad /home/saket/Desktop/GeeksforGeeks/compress.java en la carpeta «GeeksforGeeks» y estamos comprimiendo y generando el archivo GZip en la misma carpeta.
// Java program to compress a File // using GZIPOutputStream class import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPOutputStream; public class GeeksForGeeks { static final String OUTPUT_FILE = "/home/saket/Desktop/GeeksforGeeks/compress.gz"; static final String INPUT_FILE = "/home/saket/Desktop//GeeksforGeeks/compress.java"; static void compress() { byte[] buffer = new byte[1024]; try { GZIPOutputStream os = new GZIPOutputStream(new FileOutputStream(OUTPUT_FILE)); FileInputStream in = new FileInputStream(INPUT_FILE); int totalSize; while((totalSize = in.read(buffer)) > 0 ) { os.write(buffer, 0, totalSize); } in.close(); os.finish(); os.close(); System.out.println("File Successfully compressed"); } catch (IOException e) { e.printStackTrace(); } } public static void main (String[] args) { compress(); } }
Producción:
File Successfully compressed
Después de ejecutar el programa anterior, comprimirá el archivo compress.java:
Descomprimir un archivo usando GZIPOutputStream
// Java program to illustrate // Decompressing a File using GZIPOutputStream import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; class GeeksForGeeks { static final String INPUT_FILE = "/home/saket/Desktop/GeeksforGeeks/compress.gz"; static final String OUTPUT_FILE = "/home/saket/Desktop//GeeksforGeeks/decompress.java"; static void decompress() { byte[] buffer = new byte[1024]; try { GZIPInputStream is = new GZIPInputStream(new FileInputStream(INPUT_FILE)); FileOutputStream out = new FileOutputStream(OUTPUT_FILE); int totalSize; while((totalSize = is.read(buffer)) > 0 ) { out.write(buffer, 0, totalSize); } out.close(); is.close(); System.out.println("File Successfully decompressed"); } catch (IOException e) { e.printStackTrace(); } } public static void main (String[] args) { decompress(); } }
Producción :
File Successfully decompressed
Estado actual después de compilar:
Nota: Aquí decom.java contiene el código anterior.
Después de ejecutar el programa anterior, descomprimirá compress.gz y se creará un archivo llamado decompress.java .
Este artículo es una contribución de Saket Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA