我打算用java根据路径解压/压缩本地zip包,请问应该用什么方法?

解决方案 »

  1.   

    这个网上有现成的源代码,以前就是根据看到的一个源代码完成了你需要的功能,
    可以搜索ZipEntry或者ZipOutputStream等。
      

  2.   

    不要使用jdk中的zip包,那个不支持中文,可以使用apache的zip包,具体使用先搜一下,很简单,要是有问题在讨论
      

  3.   

    做过这样的事情!
    用ZIP流的话,正常,但后来发现,解压后,文件中的gif文件,无法预览。不知道是什么原因,后来想到winrar,利用控制台命令解压,这样的问题,被排除,不过又遇到一些新的麻烦。这个摸索的过程,LZ可以参加我以前写的一个博客:
    http://lisliefor.blog.ccidnet.com/blog-htm-do-showone-uid-37738-type-blog-itemid-94811.html
      

  4.   

    不要使用jdk中的zip包,那个不支持中文,可以使用apache的zip包,具体使用先搜一下,很简单,要是有问题在讨论
    ___________________________________________Apache 的 ZIP 在 Ant 中就有,使用方法和 JDK 中是一模一样的。
      

  5.   

    /**
         * 压缩文件方法(不支持目录)
         * @param args sourceFile(被压缩文件) zipFileName zip文件名(带路径)
         * @throws IOException 
         */
        public static File zipFile(File sourceFile,String zipFileName) throws IOException
        {
            //ZipOutputStream 用来输出ZIP流
            ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFileName));
            //被压缩文件输入流
            FileInputStream in = new FileInputStream(sourceFile);
            //定位ZIP文件中的文件位置
            zipOut.putNextEntry(new ZipEntry(sourceFile.getName()));
            //将 被压缩文件输入流 通过 zipOut 去写入 zip文件 ,具体位置即 putNextEntry 的定位
            int b;
            while ( (b = in.read()) != -1) {
                zipOut.write(b);
            }
            in.close();
            zipOut.close();
            File returnFile  = new File(zipFileName);
            return returnFile;
        }
      

  6.   

    ant的zip包中只有ZipOutputStream类,我要解压的时候中文问题怎么解决?