2015-02-23 37 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