Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Java for zip64类型提取zip文件_Java_Zip_Compression_Zipfile_Zipinputstream - Fatal编程技术网

无法使用Java for zip64类型提取zip文件

无法使用Java for zip64类型提取zip文件,java,zip,compression,zipfile,zipinputstream,Java,Zip,Compression,Zipfile,Zipinputstream,我使用以下函数来提取Java中的zip文件 public static List<String> unzipFiles(File zipFile, File targetDirectory) { List<String> files = new ArrayList<String>(); BufferedOutputStream dest = null; FileInputStream fileInputStream = null;

我使用以下函数来提取Java中的zip文件

public static List<String> unzipFiles(File zipFile, File targetDirectory) {
    List<String> files = new ArrayList<String>();
    BufferedOutputStream dest = null;
    FileInputStream fileInputStream = null;
    ZipInputStream zipInputStream = null;
    try {
        fileInputStream = new FileInputStream(zipFile);
        zipInputStream = new ZipInputStream(new BufferedInputStream(
                fileInputStream));
        ZipEntry zipEntry;
        int count = 0;
        while ((zipEntry = zipInputStream.getNextEntry()) != null) {
            log.debug("Extracting File Name :: " + zipEntry);
            count++;
            int length;
            byte data[] = new byte[bufferGlb];
            String fileName = zipEntry.getName();
            File opFile = new File(targetDirectory, fileName);
            FileOutputStream fileOutputStream = new FileOutputStream(opFile);
            dest = new BufferedOutputStream(fileOutputStream, bufferGlb);
            while ((length = zipInputStream.read(data, 0, bufferGlb)) != -1) {
                dest.write(data, 0, length);
            }
            dest.flush();
            files.add(fileName);
            fileOutputStream.close();
        }
        log.debug("Total " + count + " Files Unziped Successfully ");
    } catch (Exception e) {
        log.error("Error occured in unzipping the file " + zipFile, e);
}

有人能帮我解压zip64文件吗。

使用一些支持它的第三方库。我尝试过jdk 1.7,它给出了一个异常:java.util.zip.ZipException:java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:384)的无效条目大小(预期为0,但得到21504字节)位于java.util.zip.ZipInputStream.read(ZipInputStream.java:196)
java.util.zip.ZipException: invalid entry size (expected 0 but got 21504 bytes)
at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:384)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:196)