2015-02-10 82 views
0

我有一個zip文件中的zip文件。所以,我需要遞歸unzip.The輸入進來的字節數組如何通過ZipEntry遞歸循環

zis = new ZipInputStream(new ByteArrayInputStream((byte[])byteArray)); 
while((entry = zis.getNextEntry()) != null) 
{ 
processZip(entry, byteArray); 
} 

裏面的processZip(入口,字節陣列)我讀單個條目。當輸入值是一個zip文件時,我該如何處理它。如何將zipentry對象轉換爲Zipfile或枚舉它?

回答

1

您需要調整processZip()ZipInputStream作爲參數InputStream而不是字節數組。在內部它應該圍繞InputStream構建另一個ZipInputStream,並且在這裏做你正在做的事情。

NB你爲什麼一個字節數組?您應該直接從源代碼讀取ZipInputStream:套接字,文件,無論如何。不要將文件加載到內存中。