zip 订阅
Zip是一个英文单词,名词意思是拉链。实际应用中,Zip有多重指向,有的是指一种软驱,有的指计算机文件压缩算法,有的指 zip code,国际通用的邮政编码方式。 展开全文
Zip是一个英文单词,名词意思是拉链。实际应用中,Zip有多重指向,有的是指一种软驱,有的指计算机文件压缩算法,有的指 zip code,国际通用的邮政编码方式。
信息
外文名
ZIP
文件格式
计算机文件的压缩的算法
发明者
菲尔·卡茨
释    义
高储存密度的磁盘驱动器与磁盘
zip软盘
100MB,200MB等多种
中文名
软驱
Zip英文单词
zip[英][zɪp] [美][zɪp]n.拉链;精力,活力;尖啸声;一种程序压缩格式;vt.给予…速度;用拉链拉上或扣上;vt.& vi.尖啸而过;(使沿某方向)快速移动;
收起全文
精华内容
下载资源
问答
  • C++ zip压缩解压缩源代码 压缩时调用 #include "zip.h" HZIP hz = CreateZip("c:\\simple1.zip",0); ZipAdd(hz,"znsimple.bmp", "c:\\simple.bmp"); ZipAdd(hz,"znsimple.txt", "c:\\simple.txt"); ...
  • ZIP解压缩命令

    2018-09-28 16:40:54
    Windows没有ZIP,UNZIP命令,这边包含类似Linux下的ZIP和UNZIP命令的应用程序,加入环境变量即可像Linux命令行一样使用ZIP,UNZIP命令了。
  • zip4j_1.3.2 - Java操作zip压缩文件接口最新版本

    千次下载 热门讨论 2015-01-09 11:27:53
    这是最新版本的zip4j,版本号是1.3.2 官网上没有提供api文档,我生了一份,一并打在zip包中,希望能有所帮助。。。 为了方便大家,本资源不设下载积分。 Java操作zip压缩格式的开源项目,功能强大而且使用方便,...
  • C++ zip解压缩压缩

    2018-03-30 17:08:27
    只需要包含头文件,就可以进行文件的压缩和解压缩。可查看readme 或者文件中demo 简单易用。
  • linux zip unzip RPM安装包,亲测可用 用于解压war包,zip包 内含unzip-6.0-5.el6.x86_64.rpm zip-3.0-1.el6_7.1.x86_64.rpm
  • opencv-3.2.0.zip

    2017-11-01 23:11:32
    opencv-3.2.0.zip.zipopencv-3.2.0.zip.zipopencv-3.2.0.zip.zip
  • zip4j--Java操作zip压缩文件接口

    千次下载 热门讨论 2012-07-09 12:37:31
    Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/ 可以下载到jar包、源码和示例,好像没有提供API文档。 不过需要使用代理访问...
  • 可直接使用开机动画,高端大气上档次,绝对酷,下载好之后直接拷到板子上或手机里就行了
  • 根据data目录下的sign.txt(数字签名字符串)、folder.txt(目录名字符串)筛选流氓软件启动项,默认只删启动项,全选处理后重启系统就可以了。
  • Zip和7-zip谁更强,如何选择?

    千次阅读 2021-01-04 10:08:51
    Zip和7-zip谁更强,如何选择? 一. 7z rar zip之间的区别 7z一般对应的软件是7zip zip对应的是winzip rar对应的 winrar 只不过现在这几个软件基本互相支持。 7z压缩比率大些。zip次之,压缩比率越大,压缩的越小哦!!! ...

    Zip和7-zip谁更强,如何选择?

    一. 7z rar zip之间的区别

    7z一般对应的软件是7zip
    zip对应的是winzip
    rar对应的 winrar
    只不过现在这几个软件基本互相支持。
    7z压缩比率大些。zip次之,压缩比率越大,压缩的越小哦!!!
    
    zip格式比较常见,支持泛围广。windows操作系统不装任选第三方软件也可以打开zip格式。
    rar 和7z必须用解压缩软件才行。
    

    二 使用jdk操作winzip文件解压缩

    我们使用jdk自带的zip解决方案来测试winzip文件解压缩

    在这里插入图片描述

    2.1 压缩zip文件

        /**
         * 压缩zip文件
         * @param sourceFilePath
         * @param zipFilePath
         * @param fileName
         * @return
         */
        public static String zip(String sourceFilePath, String zipFilePath, String fileName) {
            File                sourceFile = new File(sourceFilePath);
            FileInputStream     fis;
            BufferedInputStream bis        = null;
            FileOutputStream    fos;
            ZipOutputStream     zos        = null;
            if (!sourceFile.exists()) {
                System.out.println("待压缩的文件目录:" + sourceFilePath + "不存在.");
            } else {
                try {
                    File zipFile = new File(zipFilePath + File.separator + fileName + ".zip");
                    if (zipFile.exists()) {
                        System.out.println(zipFilePath + "目录下存在名字为:" + fileName + ".zip" + "打包文件.");
                    } else {
                        File[] sourceFiles = sourceFile.listFiles();
                        if (null == sourceFiles || sourceFiles.length < 1) {
                            System.out.println("待压缩的文件目录:" + sourceFilePath + "里面不存在文件,无需压缩.");
                        } else {
                            fos = new FileOutputStream(zipFile);
                            zos = new ZipOutputStream(new BufferedOutputStream(fos));
                            byte[] bufs = new byte[1024 * 10];
                            for (File file : sourceFiles) {
                                //创建ZIP实体,并添加进压缩包
                                ZipEntry zipEntry = new ZipEntry(file.getName());
                                zos.putNextEntry(zipEntry);
                                //读取待压缩的文件并写进压缩包里
                                fis = new FileInputStream(file);
                                bis = new BufferedInputStream(fis, 1024 * 10);
                                int read = 0;
                                while ((read = bis.read(bufs, 0, 1024 * 10)) != -1) {
                                    zos.write(bufs, 0, read);
                                }
                            }
                        }
                    }
                    return zipFile.getAbsolutePath();
                } catch (IOException e) {
                    e.printStackTrace();
                    return null;
                } finally {
                    //关闭流
                    try {
                        if (null != bis) bis.close();
                        if (null != zos) zos.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return null;
        }
    

    测试一下:

        public static void main(String[] args) {
            //压缩文件
            zip("E:\\excel", "E:\\excel", "excel");
        }
    

    我需要压缩的目录
    在这里插入图片描述

    压缩后的结果:

    在这里插入图片描述

    2.2 解压zip文件

        /**
         * zip解压文件
         *
         * @param zipFilePath        压缩文件
         * @param unzipFilePath      解压文件路径
         * @param includeZipFileName 是否包含原文件名
         */
        public static String unZip(String zipFilePath, String unzipFilePath, boolean includeZipFileName) throws Exception {
            if (StringUtils.isBlank(zipFilePath) || StringUtils.isBlank(unzipFilePath)) {
                log.info("-> 必传参数为空");
                return null;
            }
            File zipFile = new File(zipFilePath);
            if (!zipFile.exists() || !zipFile.isFile()) {
                log.info("-> 要解压的文件不存在");
                return null;
            }
            log.info("-> 解压的文件大小: {}", zipFile.length());
            //如果解压后的文件保存路径包含压缩文件的文件名,则追加该文件名到解压路径_
            if (includeZipFileName) {
                String fileName = zipFile.getName();
                log.info("-> fileName: {}", fileName);
                if (!fileName.isEmpty()) {
                    fileName = fileName.substring(0, fileName.lastIndexOf("."));
                    log.info("-> fileName: {}", fileName);
                }
                unzipFilePath = unzipFilePath + File.separator + fileName;
            }
            log.info("-> unzipFilePath: {}", unzipFilePath);
            //创建解压缩文件保存的路径
            File unzipFileDir = new File(unzipFilePath);
            if (!unzipFileDir.exists() || !unzipFileDir.isDirectory()) {
                boolean crtDir = unzipFileDir.mkdirs();
                log.info("-> 创建存储解压后的路径{}", crtDir);
            }
            //开始解压
            ZipEntry                        entry;
            String                          entryFilePath, entryDirPath;
            File                            entryFile, entryDir;
            int                             index, count, bufferSize = 1024;
            byte[]                          buffer                   = new byte[bufferSize];
            BufferedInputStream             bis;
            BufferedOutputStream            bos;
            ZipFile                         zip                      = new ZipFile(zipFile, Charset.forName("gbk"));
            Enumeration<? extends ZipEntry> entries                  = zip.entries();
            //循环对压缩包里的每一个文件进行解压
            while (entries.hasMoreElements()) {
                entry = new ZipEntry(entries.nextElement());
                //构建压缩包中一个文件解压后保存的文件全路径
                entryFilePath = unzipFilePath + File.separator + entry.getName();
                fileFullNames.add(entryFilePath);
                entryDir = new File(entryFilePath);
                //如果文件夹路径不存在,则创建文件夹
                if (!(entryDir.exists() && entryDir.isDirectory())) {
                    entryDir.mkdirs();
                }
    
                //创建解压文件
                entryFile = new File(entryFilePath);
                if (entryFile.exists()) {
                    //删除已存在的目标文件
                    entryFile.delete();
                }
                //写入文件
                bos = new BufferedOutputStream(new FileOutputStream(entryFile));
                bis = new BufferedInputStream(zip.getInputStream(entry));
                while ((count = bis.read(buffer, 0, bufferSize)) != -1) {
                    bos.write(buffer, 0, count);
                }
                bos.flush();
                bos.close();
    
                bis.close();
            }
            return unzipFilePath;
        }
    

    解压测试

        public static void main(String[] args) {
            //解压文件
            try {
                unZip("E:\\excel\\excel.zip", "E:\\excel\\jy", false);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    解压前:

    在这里插入图片描述

    解压后:
    在这里插入图片描述

    三 使用commons-compress操作7zip文件解压缩

    这里,我们使用apache-commons-compress软件库来进行7zip文件的解压缩

    在这里插入图片描述

    Apache Commons Compress库定义了一个用于处理ar,cpio,Unix转储,tar,zip,gzip,XZ,Pack200,bzip2、7z,arj,lzma,snappy,DEFLATE,lz4,Brotli,Zstandard,DEFLATE64和Z文件的API 。

    此组件中的代码有很多渊源:

    • 对bzip2,tar和zip的支持来自Avalon的Excalibur,但就Apache的生存而言,其最初来自Ant。tar包最初是Tim Endres的公共领域包。bzip2软件包基于Keiron Liddle和Julian Seward的 libbzip2所做的工作。它已通过以下方式迁移:
      Ant-> Avalon-Excalibur-> Commons-IO-> Commons-Compress。
    • cpio软件包由Michael Kuss和jRPM 项目贡献。

    3.1 maven依赖

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>1.9</version>
            </dependency>
    

    3.2 压缩7zip文件

        /**
         * 7z文件压缩
         *
         * @param sourceFilePath  待压缩目录路径
         * @param zipFilePath 生成的压缩包路径
         * @param fileName 生成的压缩包目录
         */
    
        public static void compress7zip(String sourceFilePath, String zipFilePath, String fileName) throws Exception {
            File input = new File(sourceFilePath);
            if (!input.exists()) {
                throw new Exception(input.getPath() + "待压缩文件不存在");
            }
            SevenZOutputFile out = new SevenZOutputFile(new File(zipFilePath));
    
            compress(out, input, fileName);
            out.close();
        }
        
            /**
         * @param fileName 压缩文件名,可以写为null保持默认
         */
        //递归压缩
        public static void compress(SevenZOutputFile out, File input, String fileName) throws IOException {
    
            SevenZArchiveEntry entry = null;
            //如果路径为目录(文件夹)
            if (input.isDirectory()) {
                //取出文件夹中的文件(或子文件夹)
                File[] flist = input.listFiles();
    
                if (flist.length == 0)//如果文件夹为空,则只需在目的地.7z文件中写入一个目录进入
                {
                    /*entry = out.createArchiveEntry(input,name + "/");
                    out.putArchiveEntry(entry);*/
                } else//如果文件夹不为空,则递归调用compress,文件夹中的每一个文件(或文件夹)进行压缩
                {
                    for (int i = 0; i < flist.length; i++) {
                        compress(out, flist[i], fileName + "/" + flist[i].getName());
                    }
                }
            } else//如果不是目录(文件夹),即为文件,则先写入目录进入点,之后将文件写入7z文件中
            {
                FileInputStream fos = new FileInputStream(input);
                BufferedInputStream bis = new BufferedInputStream(fos);
                entry = out.createArchiveEntry(input, fileName);
                out.putArchiveEntry(entry);
                int len = -1;
                //将源文件写入到7z文件中
                byte[] buf = new byte[1024];
                while ((len = bis.read(buf)) != -1) {
                    out.write(buf, 0, len);
                }
                bis.close();
                fos.close();
                out.closeArchiveEntry();
            }
        }
    

    3.3 解压7zip文件

        /**
         * 7Zzip解压文件
         *
         * @param zipFilePath        压缩文件
         * @param unzipFilePath      解压文件路径
         * @param includeZipFileName 是否包含原文件名
         */
        public static String un7zZip(String zipFilePath, String unzipFilePath, boolean includeZipFileName) throws Exception {
            if (StringUtils.isBlank(zipFilePath) || StringUtils.isBlank(unzipFilePath)) {
                log.info("-> 必传参数为空");
                return null;
            }
            File zipFile = new File(zipFilePath);
            if (!zipFile.exists() || !zipFile.isFile()) {
                log.info("-> 要解压的文件不存在");
                return null;
            }
            log.info("-> 解压的文件大小: {}", zipFile.length());
            //如果解压后的文件保存路径包含压缩文件的文件名,则追加该文件名到解压路径_
            if (includeZipFileName) {
                String fileName = zipFile.getName();
                log.info("-> fileName: {}", fileName);
                if (!fileName.isEmpty()) {
                    fileName = fileName.substring(0, fileName.lastIndexOf("."));
                    log.info("-> fileName: {}", fileName);
                }
                unzipFilePath = unzipFilePath + File.separator + fileName;
            }
            log.info("-> unzipFilePath: {}", unzipFilePath);
            //创建解压缩文件保存的路径
            File unzipFileDir = new File(unzipFilePath);
            if (!unzipFileDir.exists() || !unzipFileDir.isDirectory()) {
                boolean crtDir = unzipFileDir.mkdirs();
                log.info("-> 创建存储解压后的路径{}", crtDir);
            }
            //开始解压
            String                          entryFilePath, entryDirPath;
            SevenZFile zIn = new SevenZFile(zipFile);
            SevenZArchiveEntry entry = null;
            File file = null;
    
            StringJoiner fileFullNames = new StringJoiner(",");
            while ((entry = zIn.getNextEntry()) != null) {
                if (!entry.isDirectory()) {
                    //构建压缩包中一个文件解压后保存的文件全路径
                    entryFilePath = unzipFilePath + File.separator + entry.getName();
                    //日志
                    fileFullNames.add(entryFilePath);
    
    
                    file = new File(entryFilePath);
                    if (!file.exists()) {
                        new File(file.getParent()).mkdirs();//创建此文件的上级目录
                    }
    
                    //写文件
                    OutputStream out = new FileOutputStream(file);
                    BufferedOutputStream bos = new BufferedOutputStream(out);
                    int len = -1;
                    byte[] buf = new byte[1024];
                    while ((len = zIn.read(buf)) != -1) {
                        bos.write(buf, 0, len);
                    }
                    // 关流顺序,先打开的后关闭
                    bos.close();
                    out.close();
                }
            }
            log.info("-> 解压成功: {}", fileFullNames.toString());
            return unzipFilePath;
        }
    

    四 zip和7zip压缩结果比对

    4.1 zip压缩

    在这里插入图片描述

    4.2 7zip压缩

    在这里插入图片描述

    从结果来看,7z压缩方式压缩比更高,生成文件越小,感觉可能文件越大,效果越明显,如果只针对于我本次测试而言,我发现7z的压缩方式相对zip来说,速度慢很多,所以如果是小文件操作,还是推荐zip

    五 Zip4j

    这里推荐一款操作zip的明星库Zip4j,非常的方便好用,也是我同事推荐给我的!!!

    5.1 Zip4j介绍

    Zip4j是用于zip文件或流的最全面的Java库。在撰写本文时,除其他一些功能外,它是唯一支持zip加密的Java库。它试图使处理zip文件/流变得更加容易。输入流和输出流不再笨拙的样板代码。正如你可以在下面的用法部分中看到,与zip文件的工作,现在即使是一个单一的代码行,比起这个。我的意思是不破坏Java的内置zip支持。实际上,该库依赖于Java的内置邮政编码,并且它本来应该更多。复杂如果我还必须编写压缩逻辑,那就很有挑战性。但老实说,使用zip文件或流可能是很多样板代码。该库的主要目的是通过在库中进行繁重的工作来为zip文件或流的所有常规操作提供一个简单的API,而不必让开发人员担心必须处理流等。

    5.2 Zip4j特性

    • 创建,添加,提取,更新,从zip文件中删除文件
    • 支持流(ZipInputStream和ZipOutputStream)
    • 读/写受密码保护的zip文件和流
    • 支持AES和zip标准加密方法
    • 支持Zip64格式
    • 存储(无压缩)和放气压缩方法
    • 从拆分的zip文件创建或提取文件(例如:z01,z02,… zip)
    • 支持Unicode中的Unicode文件名和注释
    • 进度监视器-用于集成到应用程序和面向用户的应用程序中

    5.3 功能演示

    package com.milo.zip;
    
    import net.lingala.zip4j.ZipFile;
    import net.lingala.zip4j.exception.ZipException;
    import net.lingala.zip4j.model.ZipParameters;
    import net.lingala.zip4j.model.enums.AesKeyStrength;
    import net.lingala.zip4j.model.enums.EncryptionMethod;
    import org.junit.Test;
    
    import java.io.File;
    import java.util.Arrays;
    import java.util.List;
    
    /**
     * @author Milo Lee
     * @date 2020-12-28 15:47
     */
    public class ZipTest {
    
        /**
         *创建zip文件,包含单个文件
         */
        @Test
        public void test1(){
            try {
                //方式一
                new ZipFile("F:\\电子书\\milolee.zip").addFile("F:\\电子书\\Head First Java 中文高清版.pdf");
                //方式二
                new ZipFile("F:\\电子书\\milolee.zip").addFile(new File("F:\\电子书\\Head First Java 中文高清版.pdf"));
            } catch (ZipException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 创建zip文件,包含多个文件
         */
        @Test
        public void test2(){
            try {
                new ZipFile("F:\\电子书\\milolee.zip").addFiles(Arrays.asList(new File("F:\\电子书\\Head First Java 中文高清版.pdf"),
                        new File("F:\\电子书\\Spring源码深度解析.pdf")));
            } catch (ZipException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 创建受密码保护的zip文件
         */
        @Test
        public void test3(){
            ZipParameters zipParameters = new ZipParameters();
            zipParameters.setEncryptFiles(true);
            zipParameters.setEncryptionMethod(EncryptionMethod.AES);
            // Below line is optional. AES 256 is used by default. You can override it to use AES 128. AES 192 is supported only for extracting.
            zipParameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256);
    
            List<File> filesToAdd = Arrays.asList(
                    new File("F:\\电子书\\Head First Java 中文高清版.pdf"),
                    new File("F:\\电子书\\Spring源码深度解析.pdf")
            );
    
            ZipFile zipFile = new ZipFile("F:\\电子书\\milolee.zip", "milolee".toCharArray());
            try {
                zipFile.addFiles(filesToAdd, zipParameters);
            } catch (ZipException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 解压zip
         */
        @Test
        public void test4(){
            try {
                new ZipFile("F:\\电子书\\milolee.zip").extractAll("F:\\电子书\\jy");
            } catch (ZipException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 解压一个受密码保护的zip文件
         */
        @Test
        public void test5(){
            try {
                new ZipFile("F:\\电子书\\milolee.zip", "milolee".toCharArray()).extractAll("F:\\电子书\\jy");
            } catch (ZipException e) {
                e.printStackTrace();
            }
        }
    }
    
    

    更多功能,大家可以在github上面找到示例,自己动手测试

    展开全文
  • src.zip(java1.8)

    热门讨论 2016-06-16 18:15:23
    有些童鞋看不到源码,原因是没有加载src.zip,如果找不到源码包,可以到此处免费下载,版本1.8.0(应该可以通用)
  • gradle-3.3-all.zip 绿色版本,欢迎下载

    万次下载 热门讨论 2017-01-09 10:47:43
    官网下载不成功的,可以直接在这里下载。 官网原下载地址:https://services.gradle.org/distributions/
  • Zip解压-可设置压缩文件编码方式

    热门讨论 2015-09-19 22:32:24
    jdk自带的ZipEntry类解压zip文件,中文文件会出现乱码,jar包是根据Apache的解压缩包进行改造的,也适合于Android使用
  • gradle-4.1-all.zip 离线包下载 需要下载

    千次下载 热门讨论 2017-08-08 09:51:04
    gradle-4.1-all.zip 离线包下载。gradle各个版本专辑地址:http://download.csdn.net/album/detail/2265
  • opencv-2.4.9.官方绿色版zip

    千次下载 热门讨论 2017-01-07 22:07:44
    OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
  • Offzip-amp-Packzip-UI.zip

    热门讨论 2014-02-05 08:05:21
    本人用于破解I-240W-Q光猫offzip.exe OffzipPackzip UI.exe packzip.exe
  • gradle-3.5-all.zip 官方绿色版

    千次下载 热门讨论 2017-04-13 22:33:02
    官网下载不成功的,或者嫌官网下载速度慢的,可以直接在这里下载。 官网原下载地址:https://services.gradle.org/distributions/
  • 压缩包内包含三个工具,分别可以用来爆破解密7z压缩包、rar压缩包和zip压缩包。
  • gradle-3.3-bin.zip

    千次下载 热门讨论 2017-01-07 17:02:22
    官网下载不成功的,可以直接在这里下载。 官网原下载地址:https://services.gradle.org/distributions/
  • 真实头像打包4000个 新注册用户,随机头像用,真实头像数据 超级真实 可用于微信微博QQ等机器人注册 或者网站随机头像
  • Ionic.Zip文件

    千次下载 热门讨论 2013-06-14 12:58:17
    Ionic.Zip.dll插件,解压和压缩的.dll插件
  • apache-cxf-3.1.4.zip

    千次下载 热门讨论 2015-11-27 10:19:09
    官网地址(http://www.apache.org/dyn/closer.lua/cxf/3.1.4/apache-cxf-3.1.4.zip)网速不好,可以从这里下载
  • jdk1.8.0源码 src.zip

    千次下载 热门讨论 2014-09-29 18:16:36
    在windows下和Netbeans一起安装的JDK 后来发现没有源码 在网上找了半天的原因才发现 是由于授权问题 在某些地区 包括大中华 下载的版本中没有提供该文件 于是从别的版本中提取了一份
  • Ionic.Zip.dll C#创建zip压缩包类库

    热门讨论 2012-11-29 17:02:48
    Ionic.Zip.dll C#创建zip压缩包类库 具体用法 搜索一下就可以
  • JMeter生成的result图表实在是不容易看,一直用着一款插件,可以生成许多更直观的图,甚至可以结合server-agent查看系统的运行资源使用情况。
  • MFC工程 zip 压缩和解压 (支持文件夹)

    热门讨论 2014-11-11 10:17:05
    基于 zip_utils_src 做的一个zip压缩代码,支持文件夹压缩&解压。 感谢原作者hwfly
  • gradle-4.4-all.zip

    热门讨论 2017-12-11 15:21:34
    gradle-4.4-all.zip Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy...
  • 对文件进行zip压缩 和base64加密和解密的几个工具类
  • HP LoadRunner 11.00 Patch 4.zip 工具下载

    热门讨论 2017-01-20 09:02:49
    HP LoadRunner 11.00 Patch 4.zip [免积分]
  • 在iOS使用ZipArchive压缩和解压缩文件

    热门讨论 2014-01-28 12:40:35
    一个在iOS使用ZipArchive实现压缩和解压缩文件的demo

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,071,492
精华内容 828,596
关键字:

zip