java如何获取zip文件内容的输入流?
我有一个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)
# 1 楼答案
你们能试试这个吗,这里的变量“is”是你们的输入流,对于时间bean,我在数组大小上把long转换为int,但在你们的代码中,你们必须正确地读取流