- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.apache.tools.zip.ZipEntry
类的一些代码示例,展示了ZipEntry
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipEntry
类的具体详情如下:
包路径:org.apache.tools.zip.ZipEntry
类名称:ZipEntry
[英]Extension that adds better handling of extra fields and provides access to the internal and external file attributes.
The extra data is expected to follow the recommendation of APPNOTE.txt:
Any extra data that cannot be parsed by the rules above will be consumed as "unparseable" extra data and treated differently by the methods of this class. Older versions would have thrown an exception if any attempt was made to read or write extra data not conforming to the recommendation.
[中]扩展名,可以更好地处理额外字段,并提供对内部和外部文件属性的访问。
预计额外数据将遵循APPNOTE.txt的建议:
*额外字节数组由一系列额外字段组成
*每个额外字段的开头是一个两字节的头id,后面是一个两字节的序列,其中包含剩余数据的长度。
上述规则无法解析的任何额外数据都将作为“不可解析”的额外数据使用,并由此类的方法进行不同的处理。如果试图读取或写入不符合建议的额外数据,旧版本会引发异常。
代码示例来源:origin: jenkinsci/jenkins
private static void zip(StaplerResponse rsp, VirtualFile root, VirtualFile dir, String glob) throws IOException, InterruptedException {
OutputStream outputStream = rsp.getOutputStream();
try (ZipOutputStream zos = new ZipOutputStream(outputStream)) {
zos.setEncoding(System.getProperty("file.encoding")); // TODO JENKINS-20663 make this overridable via query parameter
ZipEntry e = new ZipEntry(relativePath.replace('\\', '/'));
VirtualFile f = dir.child(n);
e.setTime(f.lastModified());
zos.putNextEntry(e);
try (InputStream in = f.open()) {
IOUtils.copy(in, zos);
代码示例来源:origin: org.apache.ant/ant
Set<String> dirSet = new HashSet<>();
StreamUtils.enumerationAsStream(zf.getEntries()).forEach(ze -> {
String name = ze.getName();
if (ze.isDirectory()) {
dirSet.add(name);
} else if (!name.contains("/")) {
代码示例来源:origin: jenkinsci/jenkins
ZipEntry dirZipEntry = new ZipEntry(relativePath+'/');
dirZipEntry.setExternalAttributes(BITMASK_IS_DIRECTORY);
if (mode!=-1) dirZipEntry.setUnixMode(mode);
dirZipEntry.setTime(f.lastModified());
zip.putNextEntry(dirZipEntry);
zip.closeEntry();
} else {
ZipEntry fileZipEntry = new ZipEntry(relativePath);
if (mode!=-1) fileZipEntry.setUnixMode(mode);
fileZipEntry.setTime(f.lastModified());
zip.putNextEntry(fileZipEntry);
try (InputStream in = Files.newInputStream(f.toPath())) {
int len;
代码示例来源:origin: org.apache.ant/ant
/**
* Provides default values for compression method and last
* modification time.
*
* @param entry ZipEntry
*/
private void setDefaults(ZipEntry entry) {
if (entry.getMethod() == -1) { // not specified
entry.setMethod(method);
}
if (entry.getTime() == -1) { // not specified
entry.setTime(System.currentTimeMillis());
}
}
代码示例来源:origin: org.apache.ant/ant
/**
* Sets Unix permissions in a way that is understood by Info-Zip's
* unzip command.
*
* @param mode an <code>int</code> value
* @since Ant 1.5.2
*/
public void setUnixMode(final int mode) {
// CheckStyle:MagicNumberCheck OFF - no point
setExternalAttributes((mode << SHORT_SHIFT)
// MS-DOS read-only attribute
| ((mode & 0200) == 0 ? 1 : 0)
// MS-DOS directory flag
| (isDirectory() ? 0x10 : 0));
// CheckStyle:MagicNumberCheck ON
platform = PLATFORM_UNIX;
}
代码示例来源:origin: org.apache.ant/ant
/**
* Overwrite clone.
*
* @return a cloned copy of this ZipEntry
* @since 1.1
*/
@Override
public Object clone() {
final ZipEntry e = (ZipEntry) super.clone();
e.setInternalAttributes(getInternalAttributes());
e.setExternalAttributes(getExternalAttributes());
e.setExtraFields(getAllExtraFieldsNoCopy());
return e;
}
代码示例来源:origin: gradle.plugin.com.bettycc.umengauto/core
private static void writePack(Map<ZipEntry, byte[]> readZipAllEntry, ZipFile file, String path, String channel)
throws Exception {
ZipOutputStream zot = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(path)));
Iterator<ZipEntry> iterator = readZipAllEntry.keySet().iterator();
while (iterator.hasNext()) {
ZipEntry entry = iterator.next();
zot.putNextEntry(entry);
byte[] data = readZipAllEntry.get(entry);
zot.write(data, 0, data.length);
// System.out.println(entry);
// System.out.println(entry.getSize() + " ," +
// entry.getCompressedSize() + "," + data.length);
zot.closeEntry();
}
zot.putNextEntry(new ZipEntry("META-INF/channel_" + channel));
zot.closeEntry();
zot.close();
}
代码示例来源:origin: org.eclipse.hudson.main/hudson-core
public void visit(File f, String relativePath) throws IOException {
if(f.isDirectory()) {
ZipEntry dirZipEntry = new ZipEntry(relativePath+'/');
// Setting this bit explicitly is needed by some unzipping applications (see HUDSON-3294).
dirZipEntry.setExternalAttributes(BITMASK_IS_DIRECTORY);
zip.putNextEntry(dirZipEntry);
zip.closeEntry();
} else {
zip.putNextEntry(new ZipEntry(relativePath));
FileInputStream in = new FileInputStream(f);
int len;
while((len=in.read(buf))>0)
zip.write(buf,0,len);
in.close();
zip.closeEntry();
}
entriesWritten++;
}
代码示例来源:origin: com.github.javahaohao/utils
if (folderObject.exists()) {
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(
objFileName));
zos.setEncoding("GBK");
ZipEntry ze = null;
int readLen = 0;
if (null != file) {// 指定了某个文件
ze = new ZipEntry(getAbsFileName(baseDir, file));
ze.setSize(file.length());
ze.setTime(file.lastModified());
zos.putNextEntry(ze);
InputStream is = new BufferedInputStream(new FileInputStream(
file));
ze = new ZipEntry(getAbsFileName(baseDir, f));
ze.setSize(f.length());
ze.setTime(f.lastModified());
zos.putNextEntry(ze);
代码示例来源:origin: org.apache.ant/ant
final ZipEntry ze = new ZipEntry(vPath);
ze.setTime(modTimeMillis);
} else if (dir != null && dir.isExists()) {
ze.setTime(dir.getLastModified() + millisToAdd);
} else {
ze.setTime(System.currentTimeMillis() + millisToAdd);
ze.setSize(0);
ze.setMethod(ZipEntry.STORED);
ze.setCrc(EMPTY_CRC);
ze.setUnixMode(mode);
ze.setExtraFields(extra);
zOut.putNextEntry(ze);
代码示例来源:origin: hyperic/hq
zip_out = new ZipOutputStream(new BufferedOutputStream(file_out));
zip_out.setLevel(Deflater.BEST_COMPRESSION);
zip_out.setMethod(Deflater.DEFLATED);
outEntry = new org.apache.tools.zip.ZipEntry(inEntry);
outEntry.setMethod(Deflater.DEFLATED);
if (!didReplacement &&
matches(outEntry.getName(), pathToReplace)) {
outEntry = new org.apache.tools.zip.ZipEntry(pathToReplace);
addFile(outEntry, zip_out, replacement, rsize, buf);
代码示例来源:origin: org.gradle/gradle-core
private void visitDir(FileCopyDetails dirDetails) {
try {
// Trailing slash in name indicates that entry is a directory
ZipEntry archiveEntry = new ZipEntry(dirDetails.getRelativePath().getPathString() + '/');
archiveEntry.setTime(getArchiveTimeFor(dirDetails));
archiveEntry.setUnixMode(UnixStat.DIR_FLAG | dirDetails.getMode());
zipOutStr.putNextEntry(archiveEntry);
zipOutStr.closeEntry();
} catch (Exception e) {
throw new GradleException(String.format("Could not add %s to ZIP '%s'.", dirDetails, zipFile), e);
}
}
}
代码示例来源:origin: apache/hive
public static void zip(String parentDir, String[] inputFiles, String outputFile)
throws IOException {
ZipOutputStream output = null;
try {
output = new ZipOutputStream(new FileOutputStream(new File(parentDir, outputFile)));
for (int i = 0; i < inputFiles.length; i++) {
File f = new File(parentDir, inputFiles[i]);
FileInputStream input = new FileInputStream(f);
output.putNextEntry(new ZipEntry(inputFiles[i]));
try {
IOUtils.copy(input, output);
} finally {
input.close();
}
}
} finally {
org.apache.hadoop.io.IOUtils.closeStream(output);
}
}
代码示例来源:origin: com.github.javahaohao/utils
ZipEntry zipe = new ZipEntry(oppositePath + srcFile.getName());
try {
zipOut.setEncoding("GBK");
zipOut.putNextEntry(zipe);
FileInputStream fileIn = new FileInputStream(srcFile);
while ((readedBytes = fileIn.read(buf)) > 0) {
zipOut.write(buf, 0, readedBytes);
zipOut.flush();
代码示例来源:origin: sanluan/PublicCMS
/**
* @param file
* @param out
* @param basedir
* @throws IOException
*/
private static void compress(Path sourceFilePath, ZipOutputStream out, String basedir) throws IOException {
if (Files.isDirectory(sourceFilePath)) {
try (DirectoryStream<Path> stream = Files.newDirectoryStream(sourceFilePath);) {
for (Path entry : stream) {
BasicFileAttributes attrs = Files.readAttributes(entry, BasicFileAttributes.class);
String fullName = Constants.BLANK.equals(basedir) ? entry.toFile().getName()
: basedir + Constants.SEPARATOR + entry.toFile().getName();
if (attrs.isDirectory()) {
ZipEntry zipEntry = new ZipEntry(fullName + Constants.SEPARATOR);
out.putNextEntry(zipEntry);
compress(entry, out, fullName);
} else {
compressFile(entry.toFile(), out, fullName);
}
}
} catch (IOException e) {
}
} else {
compressFile(sourceFilePath.toFile(), out, sourceFilePath.toFile().getName());
}
}
代码示例来源:origin: org.jvnet.hudson.plugins/cvs
zos.putNextEntry(new ZipEntry(name));
FileInputStream fis = new FileInputStream(f);
Util.copyStream(fis, zos);
fis.close();
zos.closeEntry();
代码示例来源:origin: sanluan/PublicCMS
/**
* @param file
* @param out
* @param basedir
* @throws IOException
*/
private static void compressFile(File file, ZipOutputStream out, String fullName) throws IOException {
if (CommonUtils.notEmpty(file)) {
ZipEntry entry = new ZipEntry(fullName);
entry.setTime(file.lastModified());
out.putNextEntry(entry);
try (FileInputStream fis = new FileInputStream(file);) {
StreamUtils.copy(fis, out);
}
}
}
代码示例来源:origin: com.github.javahaohao/utils
if (file.isDirectory()) {
fileName = fileName + "/";
ZipEntry entry = new ZipEntry(fileName);
entry.setTime(file.lastModified());
zipOutput.putNextEntry(entry);
String fileNames[] = file.list();
if (ObjectUtils.isNotEmpty(fileNames)) {
ZipEntry jarEntry = new ZipEntry(fileName);
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(file));
zipOutput.putNextEntry(jarEntry);
zipOutput.write(buf, 0, len);
in.close();
代码示例来源:origin: org.apache.ant/ant
private void setEntry(ZipEntry e) {
if (e == null) {
setExists(false);
return;
}
setName(e.getName());
setExists(true);
setLastModified(e.getTime());
setDirectory(e.isDirectory());
setSize(e.getSize());
setMode(e.getUnixMode());
extras = e.getExtraFields(true);
method = e.getMethod();
}
代码示例来源:origin: org.apache.ant/ant
/**
* Helper to format "entry too big" messages.
*/
static String getEntryTooBigMessage(ZipEntry ze) {
return ze.getName() + "'s size exceeds the limit of 4GByte.";
}
我有这个命令: 7z e -oD:\Data\ODS_Source\* D:\Data\DATA_DROP\Source.zip 这导致 D:\Data\ODS_Source\Source\. 我需要
我正在尝试让 Ionic zip 将 zip 文件内的文件夹提取到指定的根目录中。我的问题是里面的zip文件是“zipfile.zip\some_folder\”。我想将“some_folder”中的
我试图让 Ionic zip 将 zip 文件中的文件夹提取到指定的根目录中。我的问题是里面的 zip 文件是“zipfile.zip\some_folder\”。我想将“some_folder”中的
题目 监听服务器端口,得到题目如下: 源码解析 主函数 主函数中是题目界面的逻辑,对应于用户的选择做出相应的操作,其中需要注意的是选项2,解压操作需要获得root权
我有许多需要分发给用户的zip文件,其中约有130个。每个zip文件都包含许多相似的文本,html,xml和jpg文件。压缩文件总计146兆字节;解压缩后,其内容总计551mb。 我想将所有这些文件以
我正在使用 javascript zip.js图书馆。我到处搜索,但找不到将多个文件添加到 zip 的示例。 这是我的代码,但它生成了一个“损坏的”zip。 var len = results.row
在 C# 中,我使用的是 DotNetZip我有一个名为“innerZip.zip”的 zip,其中包含一些数据,和另一个名为“outerZip.zip”的 zip,其中包含 innerZip。我为什
当我使用 library(xlsx) 中的 write.xlsx 时,控制台中会出现以下内容: Note: zip::zip() is deprecated, please use zip::zipr
如果我因为问“非编程”问题而被拒绝,我不会太惊讶,但也许有人知道...... 我正在使用 WinXP 的内置“发送到压缩(zipped)文件夹”功能压缩我的 subversion 沙箱的内容,并惊讶地
我在 Elixir 中有一个二进制字符串,它由压缩字节组成,我想放气并从中提取“真实数据”: iex(93)> data > 我不确定如何解压缩这些数据。到目前为止,我已经: 浏览了 Official
有没有一种方法可以创建一个 zip 文件并强制它在命令行中包含数据描述符部分? 最佳答案 在 Github ( https://github.com/adamhathcock/sharpcompres
我已经有 PBDT.csj and RDK.csj使用此 ( https://www.blackberry.com/SignedKeys/codesigning.html ) 链接进行代码签名处理后的
我研究了几天,发现我们可以将一个包含一些内容的文件添加到 zip 文件中,然后再次压缩它。然后注释将被添加到 zip 文件中,但我不知道该文件到底是什么,所以任何人都知道向 zip(压缩)文件添加注释
我想知道如何找到 zip 文件的压缩级别。 7z 和 winzip 制作的 Zip 文件具有不同的级别评级,因此我想将其中的一些映射到其他工具中的相应级别。 store level 或 level 0
到目前为止,对于Zip文件的Mime类型,我已经看到: 应用程序/八位字节流 multipart / x-zip 应用程序/ zip 应用程序/ zip压缩的 应用程序/ x-zip压缩的 我想我的问
我已经在 google 上搜索、在 wiki 上搜索并阅读了 ZIP 的 RFC,但找不到有关 ZIP 中使用的确切算法的任何信息。 我找到了有关 ZIP == TAR + GZIP 的信息 但是,我
我有这些自解压 zip 文件,我正试图在 2008/7 机器上远程解压这些文件。但它们是以 .exe 的方式出现的,它需要用户双击并选择提取位置。 在 WinZip 支持网站上,他们说要使用/auto
这是我在这里的第一个问题,请耐心等待。 我的目标是在 C# 中创建一个基本的 .zip 存档。我已经尝试使用 .NET 的内置 GZipStream 类并设法实现了这一点,但是我遇到了一个问题,我无法
能否为压缩文件中的压缩文件创建 java.nio.file.FileSystem? 如果是这样,URI 是什么样的? 如果没有,我想我将不得不退回到使用 ZipInputStream。 我正在尝试递归
我想在 here 安装 scala我很关心下载哪一个:zip 还是 tgz。它们之间有什么区别,用例是什么? 最佳答案 它们是不同的archive formats .使用它们是因为它可以节省带宽并且因
我是一名优秀的程序员,十分优秀!