如果压缩和解压使用的算法不一样,而且解压算法不兼容压缩算法,当然无法解压了。如果你使用jdk1.1.8解压文档,那么就应该使用jdk1.1.8提供的api来压缩文档。

解决方案 »

  1.   

    压缩/解压算法是java自己提供的,怎么会不兼容呢?我想应该不是这个原因,压缩部分的源代码如下:            for (int i = 0 ; i < fileList.length; i ++) {
                    if (resultEnvironment.equals("UNIX")){
                        adjustedPath = fileList[i].replace(File.separatorChar,'/');
                        System.out.println ("adjustedPath : " + adjustedPath);
                    }
                    if (resultEnvironment.equals("WINDOWS")){
                        adjustedPath = fileList[i].replace(File.separatorChar,'\\');
                        System.out.println ("adjustedPath : " + adjustedPath);
                    }
                    File file=new File(adjustedPath);
                    String filename=file.getName();//取得图片文件名
                    entry = new ZipEntry(filename);
                    zos.putNextEntry(entry);
                    FileInputStream fis = new FileInputStream(fileList[i]);
                    byte buf[] = new byte[1024];                for (int cnt; (cnt = fis.read(buf)) != -1;) {
                        zos.write(buf, 0, cnt);
                    }
                    fis.close();
                    zos.closeEntry();而在解压缩的开始:zf = new ZipFile(testDataFiles[i]);
    就出现了上述异常...困惑
      

  2.   

    你用java.util.zip包的类进行压缩和解压,这样是没有问题的。但是你要是在windows环境下自己做一个压缩文件用java.util.zip.Zipfile来定义就会报这个错误。