【发布时间】:2016-08-08 09:50:42
【问题描述】:
我有一个 zip 文件的输入流,我将从 Web 服务响应中获取它。此 zip 文件包含一个 XML 文件。我需要从 zip 文件的输入流中提取这个 XML 文件的输入流。请帮忙。我试过下面的代码。但没有成功。
DataHandler dataHandler = odDocClient.getUniqueDoc(null, null);
inputStream = dataHandler.getInputStream();
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
ZipEntry zipEntry=zipInputStream.getNextEntry();
File tempZipFile= new File("D:\\WorkSpace\\Invoicing\\ZIP\\tempZip1.zip");
FileOutputStream fileOutputStream= new FileOutputStream(tempZipFile);
IOUtils.copy(inputStream, fileOutputStream);
inputStream.close();
inputStream.close();
fileOutputStream.close();
ZipFile zipFile = new ZipFile(tempZipFile);
inputStream=zipFile.getInputStream(zipEntry);
这个输入流将被进一步使用。
使用上面的代码,我得到了以下异常。
java.util.zip.ZipException: invalid END header (bad central directory offset)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.zip.ZipFile.<init>(ZipFile.java:159)
【问题讨论】:
标签: java zip inputstream