草庐IT

java.util.zip - ZipInputStream 对比压缩文件

我有一些关于java.util.zip库的一般性问题。我们基本上做的是许多小组件的导入和导出。以前这些组件是使用单个大文件导入和导出的,例如:请注意导入过程中组件的顺序是相关的。现在每个组件都应该有自己的文件,该文件应该是外部版本控制、QA编辑、bla、bla。我们决定导出的输出应该是一个zip文件(包含所有这些文件),而导入的输入应该是一个类似的zip文件。我们不想在我们的系统中解压zip。我们不想为每个小文件打开单独的流。我目前的问题:Q1。ZipInputStream是否可以保证zip条目(小文件)的读取顺序与我们使用ZipOutputStream的导出插入它们的顺序相同?我假设

java - 从嵌入式 ZIP 存档中读取文件

我有一个嵌入在较大文件中的ZIP存档。我知道存档在较大文件中的起始偏移量及其长度。是否有任何Java库可以让我直接读取存档中包含的文件?我正在考虑ZipFile.getInputStream().不幸的是,ZipFile不适用于此用例,因为它的构造函数需要一个独立的ZIP文件。出于性能原因,我无法在打开之前将ZIP存档复制到单独的文件中。编辑:明确一点,我确实可以随机访问该文件。 最佳答案 我想出了一个快速的hack(需要在这里和那里进行清理),但它从嵌入在TAR中的ZIP存档中读取文件的内容。它使用Java6、FileInputS

java - 如何使用 zip4j 加密 zip 文件

我想创建受密码保护的ZIP://Setthecompressionlevelparameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);//Settheencryptionflagtotrue//Ifthisissettofalse,thentherestofencryptionpropertiesareignoredparameters.setEncryptFiles(true);//SettheencryptionmethodtoStandardZipEncryptionparameters.setEncr

java - 使用 java.util.zip 构建有效的 epub

我构建了一个方法,它以递归方式将文件夹的内容添加到文件扩展名为“epub”的zip文档中,这基本上就是epub,除了一件事:存档中的第一个文档必须命名为“mimetype”,类型必须指定为application/epub+zip,并且必须以字节偏移量38开头。有没有办法将mimetype添加到具有偏移量的存档中38?我构建的方法几乎有效。它构建了一个可以被大多数电子阅读器阅读的epub,但它没有验证。EpubCheck给出了这个错误:mimetypecontainswrongtype(application/epub+zipexpected)这个问题在原始测试epub中不存在,但在重构

java - 使用 Java 创建 .zip 存档的缓冲区大小是多少?

我使用此代码创建一个包含文件列表的.zip:ZipOutputStreamzos=newZipOutputStream(newFileOutputStream(zipFile));for(inti=0;i0;){zos.write(buffer,0,read);}fis.close();zos.closeEntry();}zos.close();我不知道zip算法和ZipOutputStream是如何工作的,如果它在我读取并发送到“zos”所有数据之前写了一些东西,结果文件的字节大小可能与我选择另一个不同缓冲区大小。换句话说,我不知道算法是不是这样的:读取数据-->处理数据-->创建.

java.util.zip.ZipException : too many entries in ZIP file

我正在尝试编写一个Java类来提取包含约74000个XML文件的大型zip文件。尝试使用javazip库解压缩它时出现以下异常:java.util.zip.ZipException:ZIP文件中条目太多不幸的是,由于项目的要求,我无法在zip到达我之前对其进行分解,并且解压缩过程必须自动化(无需手动步骤)。有什么方法可以利用java.util.zip或某些第3方Javazip库来解决此限制?谢谢。 最佳答案 使用ZipInputStream而不是ZipFile应该可以做到这一点。 关于j

java - maven 安装仅在第二次尝试后抛出 "error in opening zip file"

我尝试在我的项目上使用一些依赖项运行maveninstall:log4jlog4j1.2.15org.slf4jslf4j-log4j121.5.2ch.qos.logbacklogback-classic0.9.24org.hibernatehibernate-core3.3.2.GAorg.hibernatehibernate-annotations3.4.0.GA我第一次运行mvninstall它运行得很好(构建成功)但是第二次(“在我对代码进行一些更改之后”)我尝试运行mvninstall并且maven抛出“打开zip文件时出错”。[ERROR]error:errorreadi

Java:提取具有多个子目录的 zip 文件

这个问题在这里已经有了答案:HowtounzipfilesrecursivelyinJava?(9个回答)关闭8年前。我有一个.zip(Meow.zip),它有多个文件和文件夹,就像这样喵喵.zip文件.txt程序.exe文件夹资源.xml另一个文件夹其他东西更多资源.xml我到处都找遍了,但找不到任何有用的东西。提前致谢!

java - 解压缩文件 Zip 异常 : invalid entry size (expected 193144 but got 193138 bytes)

我正在尝试解压缩文件(从FTP服务器检索):ZipInputStreamzis=newZipInputStream(newFileInputStream(zipFile));ZipEntryze=zis.getNextEntry();while(ze!=null){StringfileName=ze.getName();FilenewFile=newFile(outputFileName+outputFolder+File.separator+fileName);System.out.println("fileunzip:"+newFile.getAbsoluteFile());Fil

java - 在 Amazon S3 上解压 ZIP 文件

我正在将ZIP文件上传到AmazonS3。现在我需要在S3上解压缩该文件。是否有任何S3必须将其解压缩到那里的命令。我正在使用JAVA将文件上传到S3。 最佳答案 事实上,我也在做同样的事情。您将zip上传到S3。编写一个小型java批处理程序,它将扫描您的文件夹以查找S3上的zip,下载它,解压缩,然后再次将数据上传回S3。如果您在与您的存储桶位于同一区域的EC2实例上执行此操作,那么由于延迟非常低,这应该会很快发生。 关于java-在AmazonS3上解压ZIP文件,我们在Stack