精华内容
下载资源
问答
  • Java解压Zip包

    2020-08-07 17:11:48
    Java解压Zip包、异常MALFORMED解决方案 java.lang.RuntimeException: unzip error from ZipUtils at com.t600.cloud.common.util.ZipUtils$$M$_jr_29B5CD000A86E2E0_4.unZip(ZipUtils.java:61) at sun.reflect....

    Java解压Zip包、异常 MALFORMED 解决方案

    java.lang.RuntimeException: unzip error from ZipUtils
        at com.t600.cloud.common.util.ZipUtils$$M$_jr_29B5CD000A86E2E0_4.unZip(ZipUtils.java:61)
        at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source)
        at com.zeroturnaround.jrebelbase.facade.Forward.invokeWithParams2(SourceFile:102)
        at com.t600.cloud.controller.cloud.UploadTestQuestionsController111.method(UploadTestQuestionsController111.java:29)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at com.t600.cloud.config.TeacherLoginFilter.doFilter(TeacherLoginFilter.java:137)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:96)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.IllegalArgumentException: MALFORMED
        at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
        at java.util.zip.ZipFile.getZipEntry(ZipFile.java:583)
        at java.util.zip.ZipFile.access$900(ZipFile.java:60)
        at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:539)
        at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:514)
        at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:495)
        at com.t600.cloud.common.util.ZipUtils$$M$_jr_29B5CD000A86E2E0_4.unZip(ZipUtils.java:30)
        ... 61 more

    出现这个异常,重点这 MALFORMED 告诉你,解压的文件中有中文出现 ,出现中文异常 

    只需要把代码中创建zipfile的时候加上字符编码就行

    zipFile = new ZipFile(srcFile, Charset.forName("gbk"));

    写成这样重新运行就可以了

    展开全文
  • java 解压zip包

    2016-03-22 17:30:59
    java 解压zip包(支持中文文件名)

    package com.cool.io;
    
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    
    import com.cool.io.zip.ZipEntry;
    import com.cool.io.zip.ZipInputStream;
    
    
    public class ZipInputStreamTest {
    
    
        public static void main(String[] args) {
            InputStream is = null;
            OutputStream os = null;
            ZipInputStream zis = null;
            try {
                File file = new File("d:" + File.separator + "123.zip");
                is = new FileInputStream(file);
                zis = new ZipInputStream(is);
                byte b[] = new byte[1024];
                int len;
                ZipEntry zipEntry;
                while (null != (zipEntry = zis.getNextEntry())) {
                    System.out.println(zipEntry.getName());
                    os = new FileOutputStream("d:" + File.separator + zipEntry.getName());
                    while ((len = zis.read(b)) > 0) {
                        os.write(b, 0, len);
                    }
                    zis.closeEntry();
                    os.close();
                }
            } catch (FileNotFoundException e) {
            } catch (IOException e) {
            } finally {
                try {
                    if (is != null) {
                        is.close();
                    }
                    if (os != null) {
                        os.close();
                    }
                    if (zis != null) {
                        zis.close();
                    }
                } catch (IOException e) {
                }
            }
        }
    }
    

    1.功能:解压zip包

    2. 下载的以下源码:DeflaterOutputStream,InflaterInputStream,ZipConstants,ZipEntry,ZipInputStream,ZipOutputStream到工程,修改下package路径

    3.添加以下代码到ZipInputStream  getUTF8String 第一行

    try {
                String s = new String(b, off, len, "gbk");
                return s;
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }


    4删除 ZipEntry类里的如下代码

    static {
            /* Zip library is loaded from System.initializeSystemClass */
            //        initIDs();
        }


    5.本文参照了以下文章

    ZipInputStream解压含有中文名称文件的zip包

    展开全文
  • java解压zip包

    2012-05-22 22:37:05
    private void initCacheFile(){ ZipEntry entry = null; String strEntry = null; final int buffer=1024; int count=-1; InputStream is = null; BufferedInputStream bis;
      private void initCacheFile(){
        	
        	ZipEntry entry = null;
        	String strEntry = null;
        	final int buffer=1024;
        	int count=-1; 
        	InputStream is = null;
        	BufferedInputStream bis;
        	ZipInputStream zis;    	
        	FileOutputStream fos=null;
        	File entryFile=null;
        	try {
    			is = getAssets().open("httpCach_home.zip");
    			BufferedOutputStream dest = null;
    			bis = new BufferedInputStream(is);
    			zis = new ZipInputStream(bis);			
    			byte data[] = new byte[1024];
    			while((entry = zis.getNextEntry()) != null ){
    				strEntry = entry.getName();	
    				if(entry.isDirectory()){
    					 File zipFolder = new File(strEntry);   
                         if (!zipFolder.exists()) {   
                             zipFolder.mkdirs();   
                         }   
    				}else{
    					entryFile = new File(cache +"/"+ strEntry);						
    					if (!entryFile.exists()) {
    						File parFile = entryFile.getParentFile();
    						parFile.mkdirs();
    						entryFile.createNewFile();
    					}
    					fos = new FileOutputStream(entryFile);				
    					dest = new BufferedOutputStream(fos, buffer);
    					
    					while ((count = zis.read(data, 0, buffer)) != -1) {
    						dest.write(data, 0, count);
    					}
    				}
    			}
    			dest.flush();
    			dest.close();
    			fos.close();
    			zis.close();
    			bis.close();
    			is.close();
    			flag = false;
    		} catch (IOException e){
    			e.printStackTrace();
    		}
        }
    
    
    这个和一般的文件读写差不多,唯一的区别是通ZipInputStream的getNextEntry获取包里面的每一个ZipEntry,然后就是往文件里面写数据,这里多了一个判断就是判断是文件还是目录,如果是目录话,用OutputStream写操作,会出现错误。


    展开全文
  • java解压ZIP包代码

    2015-08-10 14:52:59
    这个类是一个后台自动解压ZIP包的基类程序,只要调用该方法传入参数即可,简单易用
  • java 解压 zip 并删除

    2017-04-06 18:08:00
    这里面的 上传照片,保存数据库都不难,主要问题是解压zip包,和删除zip 包,以及 解压后的文件。 之前在网上找的解压的文件的代码,都存在同一个问题,就是解压之后,无法删除 zip 包。查百度说是 资源占用,...

     

     

            需求是这样的,  在服务器上有 运营上传的zip 包,内容是用户的照片,我需要做的是 获取这些照片上传,并保存到 数据库。 这里面的 上传照片,保存数据库都不难,主要问题是解压zip包,和删除zip 包,以及 解压后的文件。

          之前在网上找的解压的文件的代码,都存在同一个问题,就是解压之后,无法删除 zip 包。查百度说是 资源占用,可是我已经把所有的流都关闭了哇。

           我把解压和删除分成两部分用 jUnit  测试:   第一次测试解压,并不删除包;第二次只删除包。我发现,解压方法和删除方法在同一个test 里面测试的话,zip 包删不掉,要是单独一个test 测试删除方法的话,zip 包是可以删除的。总结一下,在同一个线程里面 解压之后包删不掉。这肯定是资源在占用中。

      我在代码里面加了个垃圾回收(System.gc();),依然不行...

      我仍然不放弃,还是在 百度上找代码,看看别人有没有遇到这样的问题,我看了好多,也测试了好多代码,发现博客好多都是复制的,或许是其他人看了这个博客解决了问题,然后自己 不想总结,于是乎,就把 这个博客 复制到自己的 博客里,这虽然省事了,但毕竟不是自己的原创 ,我是一个支持原创的人。(虽然我可能也有复制过,但是我没有发布哇)。看了这么多  依然不行。突然我的扣扣亮了一下,老大发来一张图片。

     

        果然精辟呀,加上去之后E盘的文件真的消失了。。  

      困扰了我一上午的问题就这样解决了,真是应了我的那句话,"越是看上去很难奇怪的问题,越是最简单的问题."  "奇怪的问题",只是一个概念,只是存在我心里面的,所以这句话也只能是我跟我自己说。

       不说了,看代码吧.一共有两个类   PhotoTaskService.java 和  ZipUtil.java

     

     

    package com.hupu.smart.user.service.photoTask;
    
    import com.hupu.smart.user.domain.UserPhoto;
    import com.hupu.smart.user.interfaces.UserPhotoService;
    import com.hupu.smart.user.service.util.UploadImageUtil;
    import com.hupu.smart.user.service.util.ZipUtil;
    import org.slf4j.Logger;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Service;
    
    import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by Wangjunnan on 2017/4/1.
     */
    @Service("photoTaskService")
    public class PhotoTaskService {
    
    
        @Value("#{configProperties['oss_endpoint_url']}")
        private  String ENDPOINT;
    
        @Value("#{configProperties['oss_access_id']}")
        private   String ACCESS_ID;
    
        @Value("#{configProperties['oss_access_key']}")
        private   String ACCESS_KEY;
    
        @Value("#{configProperties['oss_domain']}")
        private   String OSS_DOMAIN;
    
        @Value("#{configProperties['oss_bucket']}")
        private   String BUCKET;
    
        @Autowired
        private UserPhotoService photoService;
    
        private Logger log = org.slf4j.LoggerFactory.getLogger(PhotoTaskService.class);
    
        private String url="E:\\image";
    
    
        // 检查是不是存在 zip 的 文件,并返回 这些文件
    
        @Scheduled(cron="0/10 * * * * ? ")
        public void   searchZipFile(){
            log.info("解压用户照片任务开始执行");
            List<File> list= new ArrayList<>();
            File file=new File(url);
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (File f : files) {
                    if (f.getName().endsWith(".zip")) {  // zip文件  判断 是否存在
                       list.add(f);
    
                    }
                }
            }
            if(null !=list && list.size()>0){ // 如果有文件就解压 并保存
                releaseZipFile(list);
            }
            log.info("解压用户照片任务执行完毕");
            // 删除 解压后的文件
            deleteDir(new File(url));
        }
    
        //解压  zip文件  返回  List<userPhoto>
        public void  releaseZipFile(List<File> files){
            List<UserPhoto> photos=new ArrayList<>();
            try{
            for(File f:files){
                List<File> fileList = ZipUtil.upZipFile(f, url);
                delZipFile(); // 解压完成之后删除 zip 包
                for (int i=0;i<fileList.size();i++){
                    String  userId=fileList.get(i).getParentFile().getName();
                    // 上传
                    String photoUrl = UploadImageUtil.uploadPic(fileList.get(i), "photo", ENDPOINT, ACCESS_ID, ACCESS_KEY, BUCKET, OSS_DOMAIN);
                    log.info("用户图片上传成功");
                    // 封装成 user_photo 对象
                    UserPhoto photo=new UserPhoto();
                    photo.setUserId(userId);
                    photo.setPhotoPath(photoUrl);
                    photo.setState(0);
                    photo.setIsDel(0);
                    photos.add(photo);
                }
            }
            // 保存到数据库
            photoService.addUserPhoto(photos);
            log.info("数据已保存到数据库");
            }catch (Exception e){
                log.error("照片上传出错"+e.getMessage());
            }
        }
    
        // 删除zip 文件
        public  void delZipFile(){
            File file=new File(url);
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (File f : files) {
                    if (f.getName().endsWith(".zip")) {  // zip文件  判断 是否存在
                      if(f.delete()) {
                          log.info("zip文件已经删除");
                      }else{
                          log.info("zip文件删除失败");
                      }
                    }
                }
            }
        }
         // 删除解压后的文件
        private  boolean deleteDir(File dir) {
    
        if (dir.isDirectory()) {
            String[] children = dir.list();
            //递归删除目录中的子目录下
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        // 目录此时为空,可以删除
        return dir.delete();
        }
    
    
    }
    

      

          ZipUtil.java

    package com.hupu.smart.user.service.util;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.List;
    
    import org.apache.tools.zip.ZipEntry;
    import org.apache.tools.zip.ZipFile;
    import org.slf4j.Logger;
    
    
    /**
     * 压缩或解压zip:
     * 由于直接使用java.util.zip工具包下的类,会出现中文乱码问题,所以使用ant.jar中的org.apache.tools.zip下的工具类
     * @author Administrator
     */
    
    public class ZipUtil {
        private static byte[] _byte = new byte[1024] ;
    
        private static Logger log = org.slf4j.LoggerFactory.getLogger(ZipUtil.class);
    
        /**
         * 对.zip文件进行解压缩
         * @param zipFile  解压缩文件
         * @param descDir  压缩的目标地址,如:D:\\测试 或 /mnt/d/测试
         * @return
         */
        public static List<File> upZipFile(File zipFile, String descDir) {
            List<File> _list = new ArrayList<>() ;
            try {
                ZipFile _zipFile = new ZipFile(zipFile , "GBK") ;
                for( Enumeration entries = _zipFile.getEntries() ; entries.hasMoreElements() ; ){
                    ZipEntry entry = (ZipEntry)entries.nextElement() ;
                    File _file = new File(descDir + File.separator + entry.getName()) ;
                    if( entry.isDirectory() ){
                        _file.mkdirs() ;
                    }else{
                        File _parent = _file.getParentFile() ;
                        if( !_parent.exists() ){
                            _parent.mkdirs() ;
                        }
                        InputStream _in = _zipFile.getInputStream(entry);
                        OutputStream _out = new FileOutputStream(_file) ;
                        int len ;
                        while( (len = _in.read(_byte)) > 0){
                            _out.write(_byte, 0, len);
                        }
                        if (null !=_out){
                            _out.flush();
                            _out.close();
                        }
                        if (null !=_in){
                            _in.close();
                        }
                        _list.add(_file);
                    }
                }
          // 加了这行代码之后就可以删除了 _zipFile.close();// 加了这行代码之后就可以删除了       // 加了这行代码之后就可以删除了
    } catch (IOException e) { log.error(e.getMessage()); } return _list ; } }

      

       然后用junit 测试一下就可以了

    @Test
    public void testPhoto(){
        taskService.searchZipFile();
    }
    

      

      

     

    转载于:https://www.cnblogs.com/murong/p/6674768.html

    展开全文
  • java解压zip, 可包含中文文件,附加ant.jar,绝对好用!!!
  • java解压zip或rar压缩文件源码和jar
  • java解压zip或rar压缩文件(源码和jar
  • java 压缩和解压zip包

    2017-04-30 17:24:00
    网上有关压缩和解压zip包的博文一大堆,我随便找了一个。看了看,依照自己的须要改动了一下,与各位分享一下,希望各位大神指正: package com.wangpeng.utill; import java.io.File; import java.io....
  • 使用该jar可对zip,rar,7z进行压缩和解压操作 使用该jar可对zip,rar,7z进行压缩和解压操作
  • Java解压zip

    千次阅读 2012-05-12 21:45:09
    因为项目要支持上传zip包,默认把包中的index.html当成首页来展示,于是星期五做了个Java解压zip文件的模块,没啥难度,要注意的是对于文件夹的特殊处理,避免变成okb的文件;另外由于通常我们的打包习惯是把一个...
  • Java 解压zip压缩包

    2018-02-07 15:29:00
    因为最近项目需要批量上传文件,而...1.第一个方法是用于解压zip压缩包的方法。 2.第二个方法是删除该文件夹以及子目录和子目录文件的方法。 3.第三个方法是 删除删除文件夹内所有文件和子目录 的方法。 因为我们一...
  • import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class ZipDirToFiles { public static void unZipDirToFiles(File zipFile,String descDir)throws IOException{ File pathFile = new...
  • java解压zip压缩文件

    2018-06-02 14:35:44
    解压zip格式文件,可以解压直接压缩的文件,也可以解压放在一个文件夹中压缩的zip文件 1.不需要引入其他任何jar import java.io.*; import java.util.Enumeration; import java.util.zip.ZipEntry; import java....
  • Java解压zip文件(zip4j)

    2019-01-28 17:46:47
    Java解压zip文件(zip4j) 需要的jar:https://download.csdn.net/download/weixin_43611145/10941990 代码: import java.io.File; import net.lingala.zip4j.core.ZipFile; import ...
  • Java 解压 zip 文件

    千次阅读 2018-08-22 11:44:52
    参考链接:... 解决mac系统和window系统解压zip文件 有乱码的问题 添加maven <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress --> <dependency> ...
  • JAVA解压zip包中文乱码

    2016-11-30 14:14:53
    刚开始采用的java.util下的zip包进行解压,发现路径中文乱码,代码如下: /** * 解压文件到指定目录 * * @param zipFile zip文件 * @param descDir 输出目录 * @author lee */ @
  • java 解压zip文件

    2020-07-20 16:44:10
    首先当如jarant 这边以1.7.0做测试 <!--zip--> <dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> <version>1.7.0</version> </...
  • 这个东西是书写了一个java接口类 ,解决了乱码问题!
  • 包含了使用的jar包,以及一个Java类,实现了使用Java对多目录多层级的文件进行打包,以及对ZIP包进行解压缩的操作。
  • Java进行zip包压缩/解压

    千次阅读 2013-11-08 15:53:47
    package com.xiaowu.test; import java.io.File; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Expand; import org.apache.tools.ant.taskdefs.Zip; import org.apache.tools
  • 所知道这么能用JAVA解压ZIP文件 或有java.uitl.zip包的说明文档(中文的~!)
  • NULL 博文链接:https://qifan.iteye.com/blog/1409657

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,378
精华内容 951
关键字:

java解压zip包

java 订阅