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