- 使用 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.";
}
我想使用 Google OR-Tools 解决车辆路径问题 (vrp),但使用与提供的元启发式不同的元启发式,它们是:贪婪下降、引导局部搜索、模拟退火、禁忌搜索和目标禁忌搜索。这就是此处文档中的解释:
对于 or-tools 中的 VRP,有没有办法让车辆从某些固定位置开始,但允许任意结束位置? 文档 https://developers.google.com/optimization/routin
我创建了新文件“Makefile.local”,并将“WINDOWS_SCIP_DIR=c:/Program Files/SCIPOptSuite”添加到文件中。 SCIP也编译成功,文件路径正确。
这个问题在这里已经有了答案: What are the Android SDK build-tools, platform-tools and tools? And which version sh
我正在尝试在 OR-TOOLS RL VRPTW 问题中强制执行位移长度约束。类次时长是车辆在服务中的总时间(运输 + 等待 + 服务),从到达第一个位置到离开最后一个位置。 它看起来像一个 Time
我正在尝试在 OR-TOOLS RL VRPTW 问题中强制执行位移长度约束。类次时长是车辆在服务中的总时间(运输 + 等待 + 服务),从到达第一个位置到离开最后一个位置。 它看起来像一个 Time
命令后: go build 显示错误: go tool: no such tool "link" 详细信息:我的系统是 windows 10 -> 64 位 go version: 1.11.5
我已经在我的 Ubuntu 桌面上安装了 go,在我关闭计算机之前它运行良好。 现在,当我启动我的机器并继续我的项目工作时,我明白了 $ go build go tool: no such tool
我正在为 Job-Shop 问题实现一个类似的解决方案,但有一个区别:我不知道必须执行每项任务的机器。解决这个问题也是问题的一部分。事实上,我们可以说,我正在尝试解决护士问题和工作车间问题的组合。 更
我知道Spring Tool Suite是为Spring开发而优化的,而Groovy / Grails是为Groovy / Grails开发的而优化的。 Groovy / Grails开发人员是否愿意
在 Chrome Dev Tools 中,我可以 Shift+单击检查器中的颜色来更改格式(Hex -> RGB -> HSL)。我可以在 Firefox Dev Tools 中做到这一点吗?我可以在
我目前正在评估谷歌或工具,只是注意到它本身并不是真正的求解器,而主要是与其他求解器的接口(interface)。我想知道的是这个框架使用哪些求解器来解决约束和路由问题。 我已经看透了https://d
我正在尝试使用命令 firebase init 初始化 Firebase 项目,但我收到消息 Error: Command requires authentication, please run fi
是什么决定了工具进入特定目录?例如,adb 位于 tools/但已移至 platform-tools/。为什么他们不能在同一个目录中? 最佳答案 platform-tools/ 主要包含从 Windo
我刚刚将 Android Studio 更新到了 2.3 版(金丝雀版)和最后的构建工具 'com.android.tools.build:gradle:2.3.0-alpha1' 以及当我打开布局并
我一直在使用 SQL Server 项目来管理数据库的结构。 首先我创建了项目,然后导入了一个数据库。 然后,当我需要更改架构时,比如更改字段名称,我会在 SQL Server 项目中进行,然后使用架
我正在尝试使用 Google OR-Tools 的 CP-Solver 解决问题。是否可以添加这样的约束:x1 异或 x2 异或 x3 == 0提前致谢。 最佳答案 AddBoolXOr of n 个
我需要为此获取源代码,但不幸的是,我无法在 jquerytools.org 上找到它的链接。该站点上的论坛也已关闭。有谁知道我可以从哪里获得这个来源或取消缩小它? 谢谢,罗布 最佳答案 你有没有试过继
我需要为此获取源代码,但不幸的是,我无法在 jquerytools.org 上找到它的链接。该站点上的论坛也已关闭。有谁知道我可以从哪里获得这个来源或取消缩小它? 谢谢,罗布 最佳答案 你有没有试过继
我正在使用Spring Tool Suite: 版本:3.9.0.RELEASE 建立编号:201707061903 平台:Eclipse Neon.3(4.6.3) 并安装了Gradle插件: Bu
我是一名优秀的程序员,十分优秀!