ArchiveUtils
Métodos de utilidad para el manejo de archivos comprimidos. Por ejemplo, crear un ZIP o un JAR.
Métodos
Sección titulada «Métodos»createZip
Sección titulada «createZip»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createZip(File path, OutputStream os) | void | Crea un archivo ZIP a partir de un fichero. |
- path: El fichero a comprimir.
- os: El stream de salida para el fichero.
Ejemplo:
package com.openkm;
import java.io.ByteArrayOutputStream;import java.io.File;
import com.openkm.util.ArchiveUtils;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ArchiveUtils archiveUtils = ContextWrapper.getContext().getBean(ArchiveUtils.class); File file = new File("/home/openkm/test.pdf"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); archiveUtils.createZip(file, baos); } catch (Exception e) { e.printStackTrace(); } }}createZip (directorio)
Sección titulada «createZip (directorio)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createZip(File path, String root, OutputStream os) | void | Crea recursivamente un archivo ZIP a partir de un directorio. |
- path: El directorio a comprimir.
- root: El nombre de la entrada raíz dentro del archivo ZIP.
- os: El stream de salida para el archivo.
Ejemplo:
package com.openkm;
import java.io.File;import java.io.FileOutputStream;
import com.openkm.util.ArchiveUtils;import com.openkm.util.ContextWrapper;import com.openkm.util.FileUtils;
public class Test {
public static void main(String[] args) { try { ArchiveUtils archiveUtils = ContextWrapper.getContext().getBean(ArchiveUtils.class); FileUtils fileUtils = ContextWrapper.getContext().getBean(FileUtils.class);
File tmp = fileUtils.createTempDir(); // ... populate tmp directory with files ... FileOutputStream os = new FileOutputStream(new File("/home/openkm/output.zip")); archiveUtils.createZip(tmp, "myexport", os); } catch (Exception e) { e.printStackTrace(); } }}deleteFilesFromZipByExtension
Sección titulada «deleteFilesFromZipByExtension»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteFilesFromZipByExtension(String zipPath, String fileExtension) | void | Elimina todos los ficheros con una extensión dada de un archivo ZIP existente. |
- zipPath: La ruta del sistema de ficheros al archivo ZIP.
- fileExtension: La extensión de fichero a buscar (por ejemplo,
.xml). La comparación no distingue mayúsculas de minúsculas.
Ejemplo:
package com.openkm;
import com.openkm.util.ArchiveUtils;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { ArchiveUtils archiveUtils = ContextWrapper.getContext().getBean(ArchiveUtils.class); archiveUtils.deleteFilesFromZipByExtension("/home/openkm/output.zip", ".xml"); } catch (Exception e) { e.printStackTrace(); } }}createJar
Sección titulada «createJar»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createJar(File path, String root, OutputStream os) | void | Crea recursivamente un archivo JAR a partir de un directorio. |
- path: El directorio a comprimir.
- root: El nombre de la entrada raíz dentro del archivo JAR.
- os: El stream de salida para el archivo.
Ejemplo:
package com.openkm;
import java.io.File;import java.io.FileOutputStream;import java.io.StringWriter;
import com.openkm.util.ArchiveUtils;import com.openkm.util.ContextWrapper;import com.openkm.util.FileUtils;import com.openkm.util.PathUtils;import com.openkm.util.impexp.RepositoryExporter;import com.openkm.util.impexp.TextInfoDecorator;
public class Test {
public static void main(String[] args) { try { ArchiveUtils archiveUtils = ContextWrapper.getContext().getBean(ArchiveUtils.class); PathUtils pathUtils = ContextWrapper.getContext().getBean(PathUtils.class); FileUtils fileUtils = ContextWrapper.getContext().getBean(FileUtils.class); RepositoryExporter repositoryExporter = ContextWrapper.getContext().getBean(RepositoryExporter.class);
StringWriter out = new StringWriter();
File dirFile = new File("/home/openkm"); final File tmpFile = File.createTempFile("test", ".jar", dirFile); FileOutputStream os = new FileOutputStream(tmpFile);
File tmp = fileUtils.createTempDir(); repositoryExporter.exportFolder(null, "/okm:root/jar", tmp, false, out, new TextInfoDecorator("/okm:root/jar"));
// Jar files archiveUtils.createJar(tmp, pathUtils.getName("/home/openkm"), os); } catch (Exception e) { e.printStackTrace(); } }}