joseleonweb

Untitled

Feb 26th, 2021
504
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package m3uf3projects.zip;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.util.zip.ZipEntry;
  9. import java.util.zip.ZipOutputStream;
  10.  
  11. public class Zip {
  12.  
  13.     public static void main(String[] args) {
  14.         // cadena que contiene la ruta donde están los archivos a comprimir
  15.         String directorioZip = "D:\\ZIP\\";
  16.         // ruta completa donde están los archivos a comprimir
  17.         File carpetaComprimir = new File(directorioZip);
  18.  
  19.         // valida si existe el directorio
  20.         if (carpetaComprimir.exists()) {
  21.             // lista los archivos que hay dentro del directorio
  22.             File[] ficheros = carpetaComprimir.listFiles();
  23.             System.out.println("Número de ficheros encontrados: " + ficheros.length);
  24.  
  25.             // ciclo para recorrer todos los archivos a comprimir
  26.             for (int i = 0; i < ficheros.length; i++) {
  27.                 System.out.println("Nombre del fichero: " + ficheros[i].getName());
  28.                 String extension="";
  29.                 for (int j = 0; j < ficheros[i].getName().length(); j++) {
  30.                     //obtiene la extensión del archivo
  31.                     if (ficheros[i].getName().charAt(j)=='.') {
  32.                         extension=ficheros[i].getName().substring(j, (int)ficheros[i].getName().length());
  33.                         //System.out.println(extension);
  34.                     }
  35.                 }
  36.                 try {
  37.                     // crea un buffer temporal para ir poniendo los archivos a comprimir
  38.                     ZipOutputStream zous = new ZipOutputStream(new FileOutputStream(directorioZip + ficheros[i].getName().replace(extension, ".zip")));
  39.                    
  40.                     //nombre con el que se va guardar el archivo dentro del zip
  41.                     ZipEntry entrada = new ZipEntry(ficheros[i].getName());
  42.                     zous.putNextEntry(entrada);
  43.                    
  44.                         //System.out.println("Nombre del Archivo: " + entrada.getName());
  45.                         System.out.println("Comprimiendo.....");
  46.                         //obtiene el archivo para irlo comprimiendo
  47.                         FileInputStream fis = new FileInputStream(directorioZip+entrada.getName());
  48.                         int leer;
  49.                         byte[] buffer = new byte[1024];
  50.                         while (0 < (leer = fis.read(buffer))) {
  51.                             zous.write(buffer, 0, leer);
  52.                         }
  53.                         fis.close();
  54.                         zous.closeEntry();
  55.                     zous.close();                  
  56.                 } catch (FileNotFoundException e) {
  57.                     e.printStackTrace();
  58.                 } catch (IOException e) {
  59.                     e.printStackTrace();
  60.                 }              
  61.             }
  62.             System.out.println("Directorio de salida: " + directorioZip);
  63.         } else {
  64.             System.out.println("No se encontró el directorio..");
  65.         }
  66.     }
  67. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×