public void getZipFiles(String zipFile, String destFolder) throws IOException {
BufferedOutputStream dest = null
ZipInputStream zis = new ZipInputStream(
new BufferedInputStream(
new FileInputStream(zipFile)))
ZipEntry entry
while (( entry = zis.getNextEntry() ) != null) {
System.out.println( "Extracting: " + entry.getName() )
int count
byte data[] = new byte[BUFFER]
if (entry.isDirectory()) {
new File( destFolder + "/" + entry.getName() ).mkdirs()
continue
} else {
int di = entry.getName().lastIndexOf( '/' )
if (di != -1) {
new File( destFolder + "/" + entry.getName()
.substring( 0, di ) ).mkdirs()
}
}
FileOutputStream fos = new FileOutputStream( destFolder + "/"
+ entry.getName() )
dest = new BufferedOutputStream( fos )
while (( count = zis.read( data ) ) != -1)
dest.write( data, 0, count )
dest.flush()
dest.close()
}
}
rar的只能用第三方api,比如junrar
javazip压缩包过大解压失败的原因:网络传输不好导致文件下载损坏、网站提供的RAR压缩包最初被损坏、使用的下载工具不够完善。我们可以通过压缩软件里的“修复压缩文件”解决javazip压缩包过大解压失败的问题。