- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中java.util.zip.ZipFile.stream()
方法的一些代码示例,展示了ZipFile.stream()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipFile.stream()
方法的具体详情如下:
包路径:java.util.zip.ZipFile
类名称:ZipFile
方法名:stream
暂无
代码示例来源:origin: apache/geode
private static Set<String> getZipEntries(String zipFilePath) throws IOException {
return new ZipFile(zipFilePath).stream().map(ZipEntry::getName)
.filter(x -> !x.endsWith("views.log")).collect(Collectors.toSet());
}
}
代码示例来源:origin: graphhopper/graphhopper
checksum = zip.stream().mapToLong(ZipEntry::getCrc).reduce((l1, l2) -> l1 ^ l2).getAsLong();
代码示例来源:origin: google/bundletool
public static Stream<? extends ZipEntry> allFileEntries(ZipFile zipFile) {
return zipFile.stream().filter(not(ZipEntry::isDirectory));
}
代码示例来源:origin: google/bundletool
/** Extracts paths of all files having the given path prefix. */
public static ImmutableList<String> filesUnderPath(ZipFile zipFile, ZipPath pathPrefix) {
return zipFile.stream()
.map(ZipEntry::getName)
.filter(entryName -> ZipPath.create(entryName).startsWith(pathPrefix))
.collect(toImmutableList());
}
代码示例来源:origin: google/bundletool
private BundleModule toBundleModule(ZipFile moduleZipFile) {
BundleModule bundleModule;
try {
bundleModule =
BundleModule.builder()
// Assigning a temporary name because the real one will be extracted from the
// manifest, but this requires the BundleModule to be built.
.setName(BundleModuleName.create("TEMPORARY_MODULE_NAME"))
.setBundleConfig(EMPTY_CONFIG_WITH_CURRENT_VERSION)
.addEntries(
moduleZipFile.stream()
.filter(not(ZipEntry::isDirectory))
.map(zipEntry -> ModuleZipEntry.fromModuleZipEntry(zipEntry, moduleZipFile))
.collect(toImmutableList()))
.build();
} catch (IOException e) {
throw new UncheckedIOException(
String.format("Error reading module zip file '%s'.", moduleZipFile.getName()), e);
}
BundleModuleName actualModuleName =
BundleModuleName.create(
bundleModule
.getAndroidManifest()
.getSplitId()
.orElse(BundleModuleName.BASE_MODULE_NAME));
return bundleModule.toBuilder().setName(actualModuleName).build();
}
}
代码示例来源:origin: opendaylight/yangtools
private static Collection<ScannedDependency> scanZipFile(final File zipFile) throws IOException {
final Collection<String> entryNames;
try (ZipFile zip = new ZipFile(zipFile)) {
entryNames = zip.stream().filter(entry -> {
final String entryName = entry.getName();
return entryName.startsWith(META_INF_YANG_STRING_JAR) && !entry.isDirectory()
&& entryName.endsWith(RFC6020_YANG_FILE_EXTENSION);
}).map(ZipEntry::getName).collect(ImmutableList.toImmutableList());
}
return entryNames.isEmpty() ? ImmutableList.of() : ImmutableList.of(new Zip(zipFile, entryNames));
}
代码示例来源:origin: jbosstm/narayana
/**
* Traversing jar file and loading all '.class' files by provided classloader.
*
* @param pathToJar where jar file resides
* @param classLoader class loader used for loading classes
* @return list of loaded classes
*/
public static List<Class<?>> loadFromJar(final File pathToJar, final ClassLoader classLoader) throws MojoFailureException {
try (ZipFile zipFile = new ZipFile(pathToJar)) {
Stream<String> stream = zipFile.stream()
.filter(zipEntry -> !zipEntry.isDirectory())
.map(zipEntry -> zipEntry.getName());
return processStream(stream, classLoader, pathToJar);
} catch (IOException ioe) {
throw new MojoFailureException("Can't read from jar file '" + pathToJar + "'", ioe);
}
}
代码示例来源:origin: com.github.redhatqe.byzantine/byzantine
/**
* Given the path to a jar file, get all the .class files
* @param jarPath
* @param pkg
*/
static List<String> getClasses(String jarPath, String pkg) throws IOException {
try(ZipFile zf = new ZipFile(jarPath)) {
return zf.stream()
.filter(e -> !e.isDirectory() && e.getName().endsWith(".class") && !e.getName().contains("$"))
.map(e -> {
String className = e.getName().replace('/', '.');
String test = className.substring(0, className.length() - ".class".length());
return test;
})
.filter(e -> e.contains(pkg))
.collect(Collectors.toList());
}
}
代码示例来源:origin: angular/clutz
/**
* Helper function helps read the entries in a zipfile and returns a list of only the javascript
* files (i.e files ending in .js).
*
* <p>Closure supports loading source files as {@code foo.zip!/path/in/zip.js}.
*/
static List<Path> getJsEntryPathsFromZip(String source) {
try (ZipFile zipFile = new ZipFile(source)) {
return zipFile
.stream()
.filter(e -> !e.isDirectory())
.filter(e -> e.getName().endsWith(".js"))
.map(e -> source + "!/" + e.getName())
.map(Paths::get)
.collect(Collectors.toList());
} catch (IOException e) {
throw new RuntimeException("failed to read zip file " + source, e);
}
}
代码示例来源:origin: senbox-org/s1tbx
private boolean isDirectory(final String path) throws IOException {
if (productDir.isCompressed()) {
if (path.contains(".")) {
int sepIndex = path.lastIndexOf('/');
int dotIndex = path.lastIndexOf('.');
return dotIndex < sepIndex;
} else {
final ZipFile productZip = new ZipFile(baseDir, ZipFile.OPEN_READ);
final Optional result = productZip.stream()
.filter(ze -> ze.isDirectory()).filter(ze -> ze.getName().equals(path)).findFirst();
return result.isPresent();
}
} else {
return productDir.getFile(path).isDirectory();
}
}
代码示例来源:origin: fstab/promagent
/**
* List all Java classes found in the JAR files.
*
*/
private static Set<String> listAllJavaClasses(Set<Path> hookJars, Predicate<String> classNameFilter) throws IOException {
Set<String> result = new TreeSet<>();
for (Path hookJar : hookJars) {
// For convenient testing, hookJar may be a classes/ directory instead of a JAR file.
if (hookJar.toFile().isDirectory()) {
try (Stream<Path> dirEntries = Files.walk(hookJar)) {
addClassNames(dirEntries.map(hookJar::relativize).map(Path::toString), result, classNameFilter);
}
}
else if (hookJar.toFile().isFile()) {
try (ZipFile zipFile = new ZipFile(hookJar.toFile())) {
addClassNames(zipFile.stream().map(ZipEntry::getName), result, classNameFilter);
}
} else {
throw new IOException(hookJar + ": Failed to read file or directory.");
}
}
return result;
}
代码示例来源:origin: net.sourceforge.owlapi/owlapi-osgidistribution
protected boolean loadFromCatalog(String basePhysicalIRI, ZipFile z) throws IOException {
ZipEntry yaml = z.stream().filter(e -> CATALOG_PATTERN.matcher(e.getName()).matches())
.findFirst().orElse(null);
if (yaml == null) {
return false;
}
try {
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(z.getInputStream(yaml));
NodeList uris = doc.getElementsByTagName("uri");
for (int i = 0; i < uris.getLength(); i++) {
// Catalogs do not have a way to indicate root ontologies; all ontologies will be
// considered root.
// Duplicate entries are unsupported; entries whose name starts with duplicate: will
// cause mismatches
Element e = (Element) uris.item(i);
IRI physicalIRI = IRI.create(basePhysicalIRI + e.getAttribute("uri"));
physicalRoots.add(physicalIRI);
String name = e.getAttribute("name");
if (name.startsWith("duplicate:")) {
name = name.replace("duplicate:", "");
}
logicalToPhysicalIRI.put(IRI.create(name), physicalIRI);
}
return true;
} catch (SAXException | ParserConfigurationException e1) {
throw new IOException(e1);
}
}
代码示例来源:origin: net.sourceforge.owlapi/owlapi-distribution
protected boolean loadFromCatalog(String basePhysicalIRI, ZipFile z) throws IOException {
ZipEntry yaml = z.stream().filter(e -> CATALOG_PATTERN.matcher(e.getName()).matches())
.findFirst().orElse(null);
if (yaml == null) {
return false;
}
try {
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(z.getInputStream(yaml));
NodeList uris = doc.getElementsByTagName("uri");
for (int i = 0; i < uris.getLength(); i++) {
// Catalogs do not have a way to indicate root ontologies; all ontologies will be
// considered root.
// Duplicate entries are unsupported; entries whose name starts with duplicate: will
// cause mismatches
Element e = (Element) uris.item(i);
IRI physicalIRI = IRI.create(basePhysicalIRI + e.getAttribute("uri"));
physicalRoots.add(physicalIRI);
String name = e.getAttribute("name");
if (name.startsWith("duplicate:")) {
name = name.replace("duplicate:", "");
}
logicalToPhysicalIRI.put(IRI.create(name), physicalIRI);
}
return true;
} catch (SAXException | ParserConfigurationException e1) {
throw new IOException(e1);
}
}
代码示例来源:origin: owlcs/owlapi
protected boolean loadFromCatalog(String basePhysicalIRI, ZipFile z) throws IOException {
ZipEntry yaml = z.stream().filter(e -> CATALOG_PATTERN.matcher(e.getName()).matches())
.findFirst().orElse(null);
if (yaml == null) {
return false;
}
try {
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(z.getInputStream(yaml));
NodeList uris = doc.getElementsByTagName("uri");
for (int i = 0; i < uris.getLength(); i++) {
// Catalogs do not have a way to indicate root ontologies; all ontologies will be
// considered root.
// Duplicate entries are unsupported; entries whose name starts with duplicate: will
// cause mismatches
Element e = (Element) uris.item(i);
IRI physicalIRI = IRI.create(basePhysicalIRI + e.getAttribute("uri"));
physicalRoots.add(physicalIRI);
String name = e.getAttribute("name");
if (name.startsWith("duplicate:")) {
name = name.replace("duplicate:", "");
}
logicalToPhysicalIRI.put(IRI.create(name), physicalIRI);
}
return true;
} catch (SAXException | ParserConfigurationException e1) {
throw new IOException(e1);
}
}
代码示例来源:origin: org.wso2.carbon.uuf/org.wso2.carbon.uuf.core
/**
* @param zipFile zip app
* @return app name
* @exception FileOperationException I/O error
*/
public static String getAppName(Path zipFile) {
ZipFile zip = null;
try {
zip = new ZipFile(zipFile.toFile());
ZipEntry firstEntry = zip.stream()
.findFirst()
.orElseThrow(() -> new FileOperationException("Cannot find app directory in zip artifact '" +
zipFile + "'."));
if (firstEntry.isDirectory()) {
return Paths.get(firstEntry.getName()).getFileName().toString();
} else {
throw new FileOperationException(
"Cannot find an app directory inside the zip artifact '" + zipFile + "'.");
}
} catch (IOException e) {
throw new FileOperationException(
"An error occurred when opening zip artifact '" + zipFile + "'.", e);
} finally {
IOUtils.closeQuietly(zip);
}
}
代码示例来源:origin: io.github.xfournet.jconfig/jconfig
@Override
public void merge(Path source) {
if (Files.isDirectory(source)) {
merge(walkDirectory(source).stream().map(path -> new PathFileEntry(source.resolve(path), path)));
} else {
try (ZipFile zipFile = new ZipFile(source.toFile())) {
Stream<? extends FileEntry> contentStream = zipFile.stream().
filter(e -> !e.isDirectory()).
map(e -> new ZipFileEntry(zipFile, e)).
filter(fe -> m_pathFilter.test(fe.path()));
merge(contentStream);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
}
代码示例来源:origin: itsallcode/openfasttrace
@Override
public void runImport()
{
if (!this.file.isRealFile())
{
throw new UnsupportedOperationException(
"Importing a zip file from a stream is not supported");
}
try (ZipFile zip = new ZipFile(this.file.toPath().toFile(), StandardCharsets.UTF_8))
{
zip.stream() //
.filter(entry -> !entry.isDirectory()) //
.map(entry -> createInput(zip, entry)) //
.forEach(this.delegateImporter::importFile);
}
catch (final IOException e)
{
throw new ImporterException("Error reading \"" + this.file + "\"", e);
}
}
代码示例来源:origin: itsallcode/openfasttrace
@Override
public void runImport()
{
if (!this.file.isRealFile())
{
throw new UnsupportedOperationException(
"Importing a zip file from a stream is not supported");
}
try (ZipFile zip = new ZipFile(this.file.toPath().toFile(), StandardCharsets.UTF_8))
{
zip.stream() //
.filter(entry -> !entry.isDirectory()) //
.map(entry -> createInput(zip, entry)) //
.forEach(this.delegateImporter::importFile);
}
catch (final IOException e)
{
throw new ImporterException("Error reading \"" + this.file + "\"", e);
}
}
代码示例来源:origin: fergarrui/custom-bytecode-analyzer
List<ReportItem> reportItems = new ArrayList<>();
ZipFile zipFile = new ZipFile(jarFile);
zipFile.stream().filter(ArchiveAnalyzerCallable::isClassFile)
.forEach(zipEntry -> {
try {
代码示例来源:origin: gradle.plugin.com.greensopinion.gradle-android-eclipse/gradle-android-eclipse
zipFile.stream().forEach(f -> {
if (f.getName().endsWith(".jar")) {
String targetName = jarId + ".jar";
我在 ZipFile zipfile = new ZipFile("X"); 中设置 zip 文件 X 的路径时遇到问题。 我不想对路径进行硬编码,使其成为 ZipFile zipfile = new
有文件夹路径: P:\\2018\\Archive\\ 我想以编程方式创建许多 zip 文件,但我从测试开始。我将把这个测试 zip 文件命名为“CO_007_II.zip”并尝试在上面的位置创建:
我有一个 zip 文件,里面可以包含任意数量的 zip 文件(也是递归的)。我需要遍历所有这些。 现在,我有一个将 zipInputStream 和 zipFile 作为参数的函数。问题是;如果我在另
这个问题在这里已经有了答案: Unzip nested zip files in python (7 个答案) 关闭 6 年前。 我一直在互联网上寻找类似的主题,但没有找到任何东西。 我有一个 zi
我正在尝试解压缩发送给我的一些压缩的彩信。问题是有时它有效,而其他时候则无效。当它不起作用时,python zipfile 模块会提示说它是一个错误的 zip 文件。但是使用 unix unzip 命
我想从压缩文件中删除文件的唯一方法是创建一个临时压缩文件而不删除要删除的文件,然后将其重命名为原始文件名。 在 python 2.4 中,ZipInfo 类有一个属性 file_offset,因此可以
我知道,我知道,谁会想在java中压缩或解压缩大文件。完全不合理。暂时不要怀疑,假设我有充分的理由解压缩一个大的 zip 文件。 问题 1:ZipFile有一个bug (bug # 6280693)
目前,我的应用程序将对磁盘上的文件列表执行压缩过程,并允许用户作为备份目的的电子邮件附件发送。 为了具有数据损坏检测能力,我使用以下方法生成校验和 public static long getChec
似乎 zipfile.ZipFile 需要随机访问,而 urllib2 返回的“类似文件”对象不支持该随机访问。 我尝试用 io.BufferedRandom 包装它,但得到: AttributeEr
我试图从 zip 文件获取输入流,然后将其添加到另一个 zip 文件,但它抛出空指针异常。这是我的代码。 ZipParameters parameters = new ZipParame
我正在解压缩 Zip 文件。由于有两种类型的存档 - Zip 和 GZip。 我正在使用以下内容 ZipFile zipFile = new ZipFile(file, ZipFile.OPEN_RE
我很难理解 zipfile 模块的 zipfile.ZIP_DEFLATED 和 zipfile.ZIP_STORED 压缩模式之间的区别。 最佳答案 ZIP_DEFLATED 对应于压缩(或缩小)的
我有一个 1.4GB 的 zip 文件,正在尝试连续生成每个成员。 zipfile 模块不断抛出 BadZipfile 异常,指出 "zipfile.BadZipfile: zipfiles that
我正在尝试将消息(字符串)压缩到 zip 文件中,然后将其设置为 Apache Camel 中交换对象的主体,以便下游服务之一(也使用 Apache Camel)能够使用 exchange.getIn
我正在尝试获取一个 python Zip 模块来压缩数据。 但它所做的只是抛出一个错误: with ZipFile(O_file7,mode='w',compression=ZipFile.ZIP_D
我想获取压缩文件夹内文件的创建日期。 我知道如果没有 zip,这可以通过使用 os.path.getctime() 来实现可以使用 ZipInfo.date_time 提取压缩文件夹内文件的函数和上次
如何在 C# 中提取 ZipFile?(ZipFile 是包含文件和目录) 最佳答案 为此使用工具。类似于 SharpZip .据我所知 - .NET 不支持开箱即用的 ZIP 文件。 来自 here
我有这个 Java 方法来上传文件。我试图通过将该文件夹压缩成一个 zip 文件并上传它来迎合尝试上传文件夹的用户。出于某种原因,就我而言 file.isDirectory()和 file.isFil
我有一个 Path 可以在虚拟文件系统 (jimfs) 上压缩文件,我需要使用 ZipFile 打开这个 zip 文件。 但是 ZipFile 中没有构造函数来获取 Path 作为参数,只有 File
我是一名新手,正在尝试了解如何使用 uuencode 方法。我们有一个表单,只允许上传一个文本文件。现在看起来只有 zip 文件会被上传。我试图包含 uuencode 方法以将字节转换为字符串,这样我
我是一名优秀的程序员,十分优秀!