Comprimir archivo en Java

Aquí se muestra como comprimir un archivo en Java.

 *Actualización Recuerden que este ejemplo puede recibir argumentos por el main o en su defecto crear una arreglo
import java.util.zip.*;
import java.io.*;

public class Zipper {
     public static void main(String[] arg) throws IOException {
        String[] arregloArchivos= new String[2];   
        arregloArchivos[0]="JaverosZip";
        arregloArchivos[1] = "www.JaverosAnonimos.tk";
        if (arregloArchivos.length < 2) {
            System.out.println("Usage: java Zipper [-d level] name.zip"
                    + " file1 file2...");
            return;
        }
        String outputFile = arregloArchivos[0];
        // Default to maximum compression
        int level = 9;
        int start = 1;
        if (arregloArchivos[0].equals("-d")) {
            try {
                level = Integer.parseInt(arregloArchivos[0]);
                outputFile = arregloArchivos[2];
                start = 3;
            } catch (Exception ex) {
                System.out.println(ex.getStackTrace()+" Usage : java Zipper [-d level] name.zip"
                        + " file1 file2...");
                return;
            }
        }
        FileOutputStream fout = new FileOutputStream(outputFile);
        ZipOutputStream zout = new ZipOutputStream(fout);
        zout.setLevel(level);
        for (int i = start; i < arregloArchivos.length; i++) {
            ZipEntry ze = new ZipEntry(arregloArchivos[i]);
            FileInputStream fin = new FileInputStream(arregloArchivos[0]);
            try {
                System.out.println("Compressing "+i+" " + arregloArchivos[i]);
                zout.putNextEntry(ze);
                for (int c = fin.read(); c != -1; c = fin.read()) {
                    zout.write(c);
                }
            } finally {
                fin.close();
            }
        }
        zout.close();
    }
}

4 Comentarios

  1. cual es el método que comprime

    ResponderBorrar
  2. Es todo lo que se encuentra dentto del main

    ResponderBorrar
  3. Pues todo depende, la basura es algo que ya no sirve, pero esto según quien sea la persona que lo usa si no tienes el suficiente conocimiento para entender el código y ejecutarlo pues si es basura. Ahora bien, el código funciona, así que viéndolo de este lado la basura esta en otra parte.

    Explicando cual seguramente fue el error se necesita pasar argumentos al main ó crear el arreglo de String, como sabemos que eso de pasar argumentos puede ser complicado al final lo hemos actualizado por ti para que te quede claro.

    Saludos!

    ResponderBorrar

Publicar un comentario

Artículo Anterior Artículo Siguiente