草庐IT

zipinputstream

全部标签

java - 使用 ZipInputStream 从 docx 文件获取 document.xml

我有一个docx文件的inputStream,我需要获取位于docx中的document.xml。我正在使用ZipInputStream来读取我的流,我的代码类似于ZipInputStreamdocXFile=newZipInputStream(fileName);ZipEntryzipEntry;while((zipEntry=docXFile.getNextEntry())!=null){if(zipEntry.getName().equals("word/document.xml")){System.out.println("-->zipEntryis"+zipEntry.get

java - 如何使用 ZipOutputStream 创建压缩的 Zip 存档,以便 ZipEntry 的方法 getSize() 返回正确的大小?

考虑将单个文件test_file.pdf放入zip存档test.zip中的代码示例,然后阅读此存档:importjava.io.*;importjava.util.zip.ZipEntry;importjava.util.zip.ZipInputStream;importjava.util.zip.ZipOutputStream;publicclassMain{publicstaticvoidmain(String[]args){Fileinfile=newFile("test_file.pdf");try(FileInputStreamfis=newFileInputStream(i

java - 获取 ZipInputStream 的大小

在我们完全读取流之前,是否可以找到/估计ZipInputStream的大小?例如,我们可以在读取用户数据之前使用getNextEntry获取条目的元数据。Inputstream有一个方法available()来返回可以从这个输入流中读取的字节数的估计值,但我无法为ZipInputStream找到类似的方法。 最佳答案 ZipInputStream有方法available()但它返回0或1。要获得任何类型文件的估计大小,您可以使用FileInputStream,然后使用ZipInputStream读取zip文件。例如。publiccl

java - 为什么 ZipInputStream 无法读取 ZipOutputStream 的输出?

我被这个junit测试困住了:publicvoidtest()throwsException{ByteArrayOutputStreamout=newByteArrayOutputStream();ZipOutputStreamzipOut=newZipOutputStream(out);zipOut.putNextEntry(newZipEntry("file"));zipOut.write((newbyte[]{0x01,0x02,0x03}));zipOut.closeEntry();zipOut.close();ZipInputStreamzipIn=newZipInputSt

java - 在 Windows 中创建 Zip 文件并在 Linux 中提取 Zip 文件

我在Windows下创建了一个zip文件(连同目录)如下(代码来自http://www.exampledepot.com/egs/java.util.zip/CreateZip.html):packagesandbox;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.zip.ZipEntry;importjava.util.zip.ZipOutputStream;/****@authoryan

java - 在内存中的 zip 中解析 XML

我有一个包含两个文件的Zip:一个XML和一个缩略图。我想打开XML文件并对其进行解析,而无需在磁盘上解压缩。DocumentBuilder的一个解析方法需要一个InputStream。有没有办法在压缩文件中获取XML的InputStream?我有点迷路了。我很确定ZipInputStream或ZipFile可以提供一些东西,但我想不通:/提前致谢! 最佳答案 我相信您正在寻找这样的东西:FileInputStreamfin=newFileInputStream("your.zip");ZipInputStreamzin=newZi

java - ZipFile 抛出错误,但 ZipInputStream 能够解压缩存档

我遇到了java.util.zip.*的奇怪行为我有一个zip文件,解压后会发生以下问题ZipFilezipfile=newZipFile(file,ZipFile.OPEN_READ);这是准确的错误信息java.util.zip.ZipException:errorinopeningzipfileatjava.util.zip.ZipFile.open(NativeMethod)atjava.util.zip.ZipFile.(ZipFile.java:127)atjava.util.zip.ZipFile.(ZipFile.java:143)atcom.basware.Extra

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

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

java - 从 ZipInputStream 获取特定文件

我可以通过ZipInputStream,但在开始迭代之前,我想获取迭代期间所需的特定文件。我该怎么做?ZipInputStreamzin=newZipInputStream(myInputStream)while((entry=zin.getNextEntry())!=null){printlnentry.getName()} 最佳答案 如果您正在使用的myInputStream来自磁盘上的真实文件,那么您可以简单地使用java.util.zip.ZipFile代替,它由RandomAccessFile并提供按名称直接访问zip条目

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