ArchiveUtils
Utility methods for archive handling. For example, creating a ZIP or JAR.
Methods
Section titled “Methods”createZip
Section titled “createZip”Description:
| Method | Return values | Description |
|---|---|---|
| createZip(File path, OutputStream os) | void | Create a ZIP archive from a file. |
- path: The file to compress.
- os: The output stream for the file.
Example:
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(); } }}createJar
Section titled “createJar”Description:
| Method | Return values | Description |
|---|---|---|
| createJar(File path, String root, OutputStream os) | void | Recursively create a JAR archive from a directory. |
- path: The file to compress.
- root: Text specifying the destination of the file.
- os: The output stream for the file.
Example:
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(); } }}