java unzip string_Java ZipEntry.getMethod方法代码示例

import java.util.zip.ZipEntry; //导入方法依赖的package包/类

/**

* Copies the content of a Jar/Zip archive into the receiver archive.

*

* to copy over.

*

* @param input the {@link InputStream} for the Jar/Zip to copy.

* @param filter the filter or null

* @throws IOException

*/

public void writeZip(InputStream input, IZipEntryFilter filter)

throws IOException, IZipEntryFilter.ZipAbortException {

ZipInputStream zis = new ZipInputStream(input);

try {

// loop on the entries of the intermediary package and put them in the final package.

ZipEntry entry;

while ((entry = zis.getNextEntry()) != null) {

String name = entry.getName();

// do not take directories or anything inside a potential META-INF folder.

if (entry.isDirectory() || name.startsWith("META-INF/")) {

continue;

}

// if we have a filter, we check the entry against it

if (filter != null && filter.checkEntry(name) == false) {

continue;

}

JarEntry newEntry;

// Preserve the STORED method of the input entry.

if (entry.getMethod() == JarEntry.STORED) {

newEntry = new JarEntry(entry);

} else {

// Create a new entry so that the compressed len is recomputed.

newEntry = new JarEntry(name);

}

writeEntry(zis, newEntry);

zis.closeEntry();

}

} finally {

zis.close();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值