本文整理汇总了Java中org.apache.commons.compress.archivers.jar.JarArchiveOutputStream.closeArchiveEntry方法的典型用法代码示例。如果您正苦于以下问题:Java JarArchiveOutputStream.closeArchiveEntry方法的具体用法?Java JarArchiveOutputStream.closeArchiveEntry怎么用?Java JarArchiveOutputStream.closeArchiveEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.commons.compress.archivers.jar.JarArchiveOutputStream
的用法示例。
在下文中一共展示了JarArchiveOutputStream.closeArchiveEntry方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: copyFiles
import org.apache.commons.compress.archivers.jar.JarArchiveOutputStream; //导入方法依赖的package包/类
/** Copy all the files in a manifest from input to output. */
private static void copyFiles(Manifest manifest, JarFile in, JarArchiveOutputStream out, long timestamp)
throws IOException {
final byte[] buffer = new byte[4096];
int num;
final Map<String, Attributes> entries = manifest.getEntries();
final List<String> names = new ArrayList<>(entries.keySet());
Collections.sort(names);
for (final String name : names) {
final JarEntry inEntry = in.getJarEntry(name);
if (inEntry.getMethod() == JarArchiveEntry.STORED) {
// Preserve the STORED method of the input entry.
out.putArchiveEntry(new JarArchiveEntry(inEntry));
} else {
// Create a new entry so that the compressed len is recomputed.
final JarArchiveEntry je = new JarArchiveEntry(name);
je.setTime(timestamp);
out.putArchiveEntry(je);
}
final InputStream data = in.getInputStream(inEntry);
while ((num = data.read(buffer)) > 0) {
out.write(buffer, 0, num);
}
out.flush();
out.closeArchiveEntry();
}
}
示例2: createJar
import org.apache.commons.compress.archivers.jar.JarArchiveOutputStream; //导入方法依赖的package包/类
/**
* Recursively create JAR archive from directory
*/
public static void createJar(File path, String root, OutputStream os) throws IOException {
log.debug("createJar({}, {}, {})", new Object[]{path, root, os});
if (path.exists() && path.canRead()) {
JarArchiveOutputStream jaos = new JarArchiveOutputStream(os);
jaos.setComment("Generated by OpenKM");
jaos.setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy.ALWAYS);
jaos.setUseLanguageEncodingFlag(true);
jaos.setFallbackToUTF8(true);
jaos.setEncoding("UTF-8");
// Prevents java.util.jar.JarException: JAR file must have at least one entry
JarArchiveEntry jae = new JarArchiveEntry(root + "/");
jaos.putArchiveEntry(jae);
jaos.closeArchiveEntry();
createJarHelper(path, jaos, root);
jaos.flush();
jaos.finish();
jaos.close();
} else {
throw new IOException("Can't access " + path);
}
log.debug("createJar: void");
}
示例3: writeJarEntry
import org.apache.commons.compress.archivers.jar.JarArchiveOutputStream; //导入方法依赖的package包/类
private static void writeJarEntry(JarArchiveOutputStream jaos, String name, byte[] data) throws IOException {
ZipArchiveEntry entry = new JarArchiveEntry(name);
entry.setSize(data.length);
jaos.putArchiveEntry(entry);
jaos.write(data);
jaos.closeArchiveEntry();
}