java如何直接解压zip格式二进制流

Python016

java如何直接解压zip格式二进制流,第1张

Java代码

import java.io.File

import java.io.FileInputStream

import java.io.FileOutputStream

import java.util.zip.ZipEntry

import java.util.zip.ZipInputStream

import java.util.zip.ZipOutputStream

class ZipTest {

// 压缩

public static void zip(String zipFileName, String inputFile)

throws Exception {

File f = new File(inputFile)

ZipOutputStream out = new ZipOutputStream(new FileOutputStream(

zipFileName))

zip(out, f, f.getName())

System.out.println("zip done")

out.close()

void decompression(File zipFile){

1:解压zipFile

2:遍历解压后的文件目录,找到其中的zip文件,然后

decompression(zip文件)

}

就是说递归

我试了一下,没有问题

先问一下,你用的JDK是什么版 本。我是1.6_20,直接用你的程序。

zipFile = new ZipFile(new File(zipfile),"GBK")

Enumeration enumeration = zipFile.getEntries()

是报错的。

我改成了

zipFile = new ZipFile(new File(zipfile))

Enumeration enumeration = zipFile.entries()

这应该不是主要问题。

有没有可能是你的压缩包损坏了。或是包里的那个文件坏了,跟一下断点,看一下是解那个文件出的错。