Carpetas Java Zip y UnZip
Contents
[
Hide
Show
]La API Aspose.ZIP le permite comprimir y descomprimir archivos sin preocuparse por la estructura de archivos subyacente. Este artículo muestra cómo trabajar con la compresión de archivos individuales y múltiples.
Comprimir directorio
Compresión del contenido del directorio
1try (FileOutputStream zipFile = new FileOutputStream(dataDir + "CompressDirectory_out.zip")) {
2 try (Archive archive = new Archive()) {
3 File corpus = new File(dataDir + "CanterburyCorpus");
4 archive.createEntries(corpus);
5 archive.save(zipFile);
6 }
7} catch (IOException ex) {
8 System.out.println(ex);
9}
Extracción de archivo de directorio comprimido
1try (FileInputStream zipFile = new FileInputStream(dataDir + "CompressDirectory_out.zip")) {
2 try (Archive archive = new Archive(zipFile)) {
3 archive.extractToDirectory(dataDir + "DescomprimirCarpeta_salida");
4 }
5} catch (IOException ex) {
6 System.out.println(ex);
7}
Comprimir archivos por información de archivo
1try (FileOutputStream zipFile = new FileOutputStream(dataDir + "CompressFilesByFileInfo_out.zip")) {
2 File fi1 = new File(dataDir + "alice29.txt");
3 Archivo fi2 = nuevo Archivo(dataDir + "fields.c");
4 try (Archivo archive = nuevo Archivo()) {
5 archive.createEntry("alice29.txt", fi1);
6 archive.createEntry("campos.c", fi2);
7 ArchiveSaveOptions options = new ArchiveSaveOptions();
8 options.setEncoding(StandardCharsets.US_ASCII);
9 archive.save(zipFile, options);
10 }
11} catch (IOException ex) {
12 System.out.println(ex);
13}
Extraer archivos con diferentes archivos de entrada
1try (FileInputStream zipFile = new FileInputStream(dataDir + "\different_password.zip")) {
2 try (Archive archive = new Archive(zipFile)) {
3 archive.getEntries().get(0).extract(dataDir + "alice29_extracted_pass_out.txt", "first_pass");
4 archive.getEntries().get(1).extract(dataDir + "asyoulik_extracted_pass_out.txt", "second_pass");
5 }
6} catch (IOException ex) {
7 System.out.println(ex);
8}