2015-02-23 74 views
0

我有一个应用程序(弹簧MVC),我想解压缩文件,但我想抓住它里面的文件,并能够与他们的工作没有保存压缩文件没有文件,它有(zip文件)。解压通过CommonsMultipartFile

像这样的事情

... 
ZipFile zipFile = new ZipFile("file.zip"); 
Enumeration<?> enu = zipFile.entries(); 
while (enu.hasMoreElements()) { 
    ZipEntry zipEntry = (ZipEntry) enu.nextElement(); 
    InputStream is = zipFile.getInputStream(zipEntry); 
} 
... 

但我通过有zip文件( “file.zip”)CommonsMultipartFile(弹簧MVC)和无磁盘

我怎么能做到这一点的?

谢谢。

回答

0

如果你不希望内容保存压缩文件到一个临时文件,您可以通过使用ZipInputStream阅读。

ZipInputStream zis = new ZipInputStream(multipartFile.getInputStream()); 
ZipEntry ze; 
while ((ze = zis.getNextEntry()) != null) { 
    // process entry 
} 
+0

谢谢您的回答,但如果我想与ZipEntry的每个条目的InputStream的,我没有它,我想是 – Celer 2015-02-24 09:11:48

+0

@Celer添加的代码片段的东西。 – holmis83 2015-02-24 10:33:04

+0

但ZipFile的是不是一个InputStream和我想知道的是喜欢做的就是从的ZipFile – Celer 2015-02-24 12:47:14