Introducción a la programación en Java
La API de Aspose.ZIP para Java permite trabajar con la creación y gestión de archivos en sus aplicaciones sin necesidad de otras aplicaciones de terceros. Su detallada implementación permite gestionar fácilmente archivos ZIP.
Este artículo describe únicamente la manipulación con formato zip. Aspose.Zip soporta muchos formatos de archivo, están listados aquí.
Conceptos básicos de la API
La API Aspose.ZIP conceptualiza la funcionalidad de cada elemento de un archivo como Entrada. Las entradas pueden añadirse, actualizarse o eliminarse de un archivo. La API simplifica el trabajo con un archivo y sus entradas. Esta sección da una idea de las diferentes clases y métodos expuestos por la API y su uso.
Trabajar con archivos
Creación de archivos
Se puede crear un archivo utilizando la clase Archive expuesta por la API. Se puede crear un archivo básico utilizando esta clase como se muestra en el siguiente ejemplo de código.
1Archivo = nuevo Archivo();
Dicho archivo se prepara para la compresión.
Creando archivo con compresión personalizada
Se pueden crear archivos con ajustes adicionales que especifiquen técnicas de compresión personalizadas.
1Archivo = nuevo Archivo(
2 new ArchiveEntrySettings(
3 new CompressionSettings(CompressionMethod.Store), new AesEcryptionSettings("p@s$", EncryptionMethod.AES256)));
Guardar archivos
Los archivos se pueden guardar en el sistema de archivos del disco, así como en secuencias.
1archive.save(outputStream, saveOptions)
2archive.save(filePath, saveOptions)
Extracción de archivos
Los archivos pueden extraerse pasando el flujo o la ruta de origen al [constructor de extracción] Archive(5).
1FileInputStream zipFileStream = new FileInputStream("archivo.zip");
2Archive archive = new Archive(zipFileStream);
1Archive archive = new Archive("miarchivo.zip");
Extracción de archivos cifrados
Los archivos protegidos por contraseña pueden extraerse especificando las ArchiveLoadOptions
1ArchiveLoadOptions options = new ArchiveLoadOptions();
2options.setDecryptionPassword("p@s$");
3Archive archive = new Archive(sourceStream, options);
1ArchiveLoadOptions options = new ArchiveLoadOptions();
2options.setDecryptionPassword("p@s$");
3Archive archive = new Archive("miarchivo.zip", opciones);
Trabajar con entradas de archivo
Añadir entradas al archivo
Se pueden añadir entradas a un archivo utilizando el método createEntry de Archive. Las sobrecargas que ofrece este método permiten crear entradas en un archivo a partir de una ruta de archivo o un flujo junto con la configuración específica de Archive Entry. También se pueden añadir ficheros de un directorio a un archivo especificando la búsqueda recursiva a través del directorio.
1// Crea una única entrada con un nombre, un origen de datos y una configuración opcional de compresión y cifrado para la entrada.
2createEntry(string name, InputStream source, ArchiveEntrySettings newEntriesSettings)
3
4// Crea una única entrada con el nombre y el origen de archivo dados, y los ajustes opcionales de compresión y cifrado para la entrada.
5createEntry(string name, string path, ArchiveEntrySettings newEntriesSettings)
6
7// Crea una única entrada con el nombre y el origen de archivo dados, y con la configuración opcional de compresión y cifrado para la entrada.
8// Mantiene los atributos del archivo NTFS.
9createEntry(string name, File file, ArchiveEntrySettings newEntriesSettings)
10
11// Crea una única entrada con el nombre, la fuente de datos y la configuración de compresión y cifrado dados para la entrada.
12// Mantiene los atributos del archivo NTFS y respeta los parámetros opcionales.
13createEntry(string name, InputStream source, ArchiveEntrySettings newEntriesSettings, File file)