精华内容
下载资源
问答
  • Ionic.Zip.dll C#创建zip压缩包类库

    热门讨论 2012-11-29 17:02:48
    Ionic.Zip.dll C#创建zip压缩包类库 具体用法 搜索一下就可以
  • zip压缩包解密

    2014-07-16 23:36:59
    zip压缩包猜谜解压,zip压缩包暴力解压!
  • java 打zip压缩包 解压缩包Eclipse项目20111011 java 打zip压缩包 解压缩包Eclipse项目20111011java 打zip压缩包 解压缩包Eclipse项目20111011
  • node.zip压缩包

    2021-01-27 18:15:59
    node.zip压缩包
  • 压缩包制作也是很多项目中需要用到的功能。接下来通过本文给大家介绍基于C# 生成Zip压缩包代码,对c生成zip压缩包相关知识感兴趣的朋友一起学习吧
  • 7-zip压缩包

    2018-12-14 16:23:45
    7-zip压缩包
  • zip压缩包破解方案

    2021-01-15 16:35:02
    这个小软件可以针对zip压缩包进行破解。 对于有些忘记密码的压缩包能破
  • Keil4.zip压缩包

    2021-03-05 22:07:47
    Keil4.zip压缩包
  • gradle-6.1.1zip压缩包

    2020-08-06 13:14:47
    gradle-6.1.1 zip压缩包,解决gradle官网下载缓慢的问题。直接将解压之后的zip压缩包放到对应的目录即可自动解压!
  • 注:可进行一下压缩包的解压缩(1)解压单个zip压缩包(2)将一个目录中的所有zip压缩包解压缩(目录中可以不全是zip压缩包)(3)Bulild Path中配置ant.jar {下载地址:链接:https://pan.baidu.com/s/1jJv7P9W ...
    注:可进行一下压缩包的解压缩
    


    (1)解压单个zip压缩包


    (2)将一个目录中的所有zip压缩包解压缩(目录中可以不全是zip压缩包)


    (3)Bulild Path中配置ant.jar {下载地址:链接:https://pan.baidu.com/s/1jJv7P9W 密码:d886}

    package zip;
    /**
     * 给定一个目录,将目录中的所有zip压缩文件解压到同级目录中
     * 或直接给定一个zip压缩包,将其进行解压缩,解压到同级目录中
     */
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Enumeration;
    
    import org.apache.tools.zip.ZipEntry;
    import org.apache.tools.zip.ZipFile;  
      
    /** 
     * ZIP解压缩工具 
     *  
     * @author 今页一点  
     * @since 1.0 
     */  
    public class UnzipUntil {  
    	
    	public static void main(String[] args) throws IOException {
    		 /**
    		  * 解压文件
    		  */
    		 File zipFile = new File("C:\\Users\\wangdou\\Desktop\\123");
    		 is_or_not_a_Dic(zipFile);
    		
    	}
    	
    	private static void is_or_not_a_Dic(File zipFile ) {
    		String aimpath =null;
    		if(zipFile.isDirectory()) {
    			 File[] listFiles = zipFile.listFiles();
    			 for (int i = 0; i < listFiles.length; i++) {
    				 
    				 
     //循环遍历    :如果listFiles[i]是目录,则判断目录中是否有压缩包,若有,则解压到相应的位置
     if(listFiles[i].isDirectory()) {
    	 is_or_not_a_Dic(listFiles[i]);
     }
    				 
    				 //如果listFiles[i]是文件,确实自拍压缩包,则解压
    				 if(listFiles[i].toString().endsWith(".zip")) {
    					 try {
    						 aimpath = listFiles[i].getAbsolutePath().replaceAll(".zip", "");   //解压文件的父目录
    						unZipFiles(listFiles[i], aimpath);
    					} catch (IOException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}    //listFiles[i]:需要解压的压缩包   aimpath:解压的的目录(同级目录)    
    				 }
    			}
    		 }else {
    			 
    			 if(zipFile.toString().endsWith(".zip")) {
    				 
    				 aimpath =zipFile.getAbsolutePath().replaceAll(".zip", ""); //解压文件的父目录
    				 try {
    					unZipFiles(zipFile, aimpath);   //listFiles[i]:需要解压的压缩包   aimpath:解压的的目录(同级目录) 
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}      
    			 }
    		 }
    	}
    	
    	/**
    	 * 解压到指定目录
    	 * @param zipPath
    	 * @param descDir
    	 */
    	 public static void unZipFiles(String zipPath,String descDir)throws IOException{
    		 unZipFiles(new File(zipPath), descDir);
    	 }
    	 /**
    	 * 解压文件到指定目录
    	 * @param zipFile
    	 * @param descDir
    	 * @author 今页一点
    	 */
    	 @SuppressWarnings("rawtypes")
    	 public static void unZipFiles(File zipFile,String descDir)throws IOException{
    		 
    		 //创建目录文件
    		 File pathFile = new File(descDir);
    		 if(!pathFile.exists()){
    			 pathFile.mkdirs();
    		 }
    		 
    		 @SuppressWarnings("resource")
    		 ZipFile zip = new ZipFile(zipFile);
    		 
    		 for(Enumeration entries = zip.getEntries();entries.hasMoreElements();){
    			  ZipEntry entry = (ZipEntry)entries.nextElement();
    			  String zipEntryName = entry.getName();
    			  InputStream in = zip.getInputStream(entry);
    			  String outPath = (descDir+"/"+zipEntryName).replaceAll("\\*", "/");
    			  //判断路径是否存在,不存在则创建文件路径
    			  File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
    			  if(!file.exists()){
    				  file.mkdirs();
    			  }
    			  //判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
    			  if(new File(outPath).isDirectory()){
    				  continue;
    			  }
    			  //输出文件路径信息
    			  System.out.println(outPath);
    			   
    			  OutputStream out = new FileOutputStream(outPath);
    			  byte[] buf1 = new byte[1024];
    			  int len;
    			  while((len=in.read(buf1))>0){
    				  out.write(buf1,0,len);
    			  }
    			  
    			  in.close();
    			  out.close();
    		  }
    		 System.out.println("******************解压完毕********************");
    	 }
    }  


    展开全文
  • 写在之前 压缩包是互联网上软件发布...Python 中有一系列对压缩包进行处理的工具,包括创建压缩包,解压压缩包以及获取压缩包中的文件列表等,今天的文章,我们就来学习一下与压缩包相关的 Python 标准库。 管理 zip...

    写在之前

    压缩包是互联网上软件发布的标准格式,同时对于系统管理很有用处。当我们需要将多份文件发送给别人的时候,最好通过压缩包的形式发送,还有在备份某些文件的时候,为了减少磁盘空间的占用,也需要对备份的数据进行压缩。

    Python 中有一系列对压缩包进行处理的工具,包括创建压缩包,解压压缩包以及获取压缩包中的文件列表等,今天的文章,我们就来学习一下与压缩包相关的 Python 标准库。

    管理 zip 压缩包

    在大多数情况下,我们在 Windows 下使用 zip 进行压缩,在 Linux 下使用 gzip 或者 bzip2 进行压缩。这一部分,我们来看一下如何管理 zip 格式的压缩包。

    1.读取 zip

    Python 管理 zip 主要使用 zipfile 模块,这个模块里有一个名为 ZipFile 的对象,我们通过将 zip 压缩包的名称传递给这个对象的函数,这样就打开了一个 zip 压缩包并获得一个 ZipFile 的对象,然后使用这个对象的方法去读取 zip 压缩包里的内容。具体如下所示:

    >>> import zipfile
    >>> first_zip = zipfile.ZipFile('test.zip')
    >>> first_zip.namelist()
    

    namelist() 是 ZipFile 中的常用方法,初次以外还比较常用的方法有 extractextractall

    • namelist:返回一个列表,列表中是 zip 中包含的所有文件和文件夹;

    • extract:从 zip 中提取单个文件

    • extarctall:从 zip 文件中提取所有文件

    2.创建 zip

    与文件的方式类似,如果想要创建一个 zip 格式的压缩文件,必须要以「写」的模式打开 zip 文件,需要说一点的是,ZipFile 的对象是通过 write 方法来添加文件的。具体如下所示:

    >>> import zipfile
    >>> my_zip =  zipfile.ZipFile('test.zip', 'w')
    >>> my_zip.write('test.py')
    >>> my_zip.close()
    

    上面的代码是创建了一个名为 test.zip 的新 zip 文件,它包含 test.py 压缩后的内容。

    管理 tar 包

    tar 命令一般是在 Linux 系统中创建压缩包,并且可以指定压缩包的压缩算法。此外 tar 命令也可以创建一个不压缩的 tar 包,仅仅是为了能把多个文件进行打包便于传输。这也就是说,我们在使用 tar 命令的时候,既可以创建普通的 tar 包,也可以创建使用压缩算法压缩过的压缩包。

    Python 中使用 tarfile标准库提供了 tar 命令提供的功能,我们也可以使用它创建一个压缩或者一个非压缩的 tar 包。我之前很多次说过 Python 的简洁优雅体现在方方面面,在这里体现在 tarfile 模块比 Linux 下的 tar 命令用起来更加舒服。

    1.读取 tar 包

    同样读取 tar 包和 Python 的文件管理操作类似,读写一个压缩包,需要执行打开操作,同时指定打开模式,并且在操作完成以后关闭文件,当然在这里我们可以使用上下文管理器来保证文件的关闭逻辑。具体如下所示:

    >>> import tarfile
    >>> with tarfile.open('etc.tar') as t:
    ...  for member in t.getmembers():
    ...        print(member.name)
    

    上面的代码中,导入 tarfile 库,使用默认的读模式打开 tar 包,tarfile.open() 函数返回一个 TarFile 对象,这个对象表示当前打开的 tar 包,我们可以通过这个对象的方法操作和读取 tar 包中的内容。

    tarfile 中有不少函数,其中最常用的有 getnamesextractextractall 函数:

    • getnames:获取 tar 包中的文件列表;

    • extract:提取单个文件;

    • extractall:提取所有文件。

    2.创建 tar 包

    从上面的例子中可以看到,读一个 tar 包与读一个文件类似,都是以「读」的方式打开文件并得到一个对象,然后通过这个对象的方法去操作文件。同样创建一个 tar 包和写一个文件也比较类似。具体如下所示:

    >>> import tarfile
    >>> with tarfile.open('etc.tar', mode='w') as f:
    ...    f.add('test.py')
    

    上面的代码中,由于我们是创建一个 tar 包,所以以「写」模式打开 tar 包并得到一个 TarFile 对象,然后使用 TarFile 对象的 add 方法将 test.py 文件添加到 tar 包中。

    3.tarfile 读取和创建压缩包

    上面我们用 targfile 创建和读取未压缩的 tar 包,但是一般情况下,我们创建 tar 包的时候都会使用压缩算法进行压缩,以加快传输速度和减少占用的磁盘空间。

    使用 tarfile 创建和读取压缩包非常简单,只要在打开文件时指定压缩算法即可。对于 tarfile 的 open 函数,以「打开模式:压缩算法」的形式打开即可。具体如下所示:

    a. 读取一个用 gzip 算法压缩的 tar 包:

    >>> import tarfile
    >>> with tarfile.open('etc.tar', mode='r:gz') as f:
    

    b. 创建一个用 bzip2 算法压缩的 tar 包:

    >>> import tarfile
    >>> with tarfile.open('etc.tar', mode='w:bz2') as f:
    

    写在之后

    更多内容,欢迎关注公众号「Python空间」,期待和你的交流。
    在这里插入图片描述

    展开全文
  • 主要介绍了PHP zip压缩包操作类,结合完整实例形式分析了php封装的针对zip文件解压、压缩、递归创建、读取等相关操作,需要的朋友可以参考下
  • 工具是用来解决zip压缩包密码遗忘时的密码破解工具,可以帮助需要的人,自己也受益了该工具。
  • 批量处理ZIP压缩包软件
  • ExamManager.zip_zip压缩包

    2020-12-25 16:05:29
    ExamManager.zip
  • ZIP压缩包暴力破解
  • 主要介绍了基于Java向zip压缩包追加文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 使用shell写的解压zip压缩包的脚本,可对有规律的文件进行循环解压
  • 主要介绍了PHP生成zip压缩包的常用方法,结合实例形式分析了php使用zip格式压缩文件、目录以及压缩并下载的相关操作技巧,需要的朋友可以参考下
  • LNMP教程.zip_zip压缩包

    2021-01-05 20:49:12
    LNMP教程.zip
  • 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。
  • PHPZip类实现php生成zip压缩包

    热门讨论 2012-05-13 10:39:31
    PHPZip类,生成zip格式的压缩包,可以直接在服务器上生成压缩包,也可以生成压缩并下载,也可以直接在线解压以及获得压缩包的相应信息
  • ZIP 压缩包破解,明文攻击,暴力破解,CRC碰撞,伪加密C++ 源代码
  • PHP生成zip压缩包

    万次阅读 2018-06-05 20:01:47
    压缩一个文件我们将一个文件生成一个压缩包。&lt;?php $path = "c:/wamp/www/log.txt"; $filename = "test.zip"; $zip = new ZipArchive(); $zip-&gt;open($filename,ZipArchive::...

    压缩一个文件

    我们将一个文件生成一个压缩包。

    <?php
    $path = "c:/wamp/www/log.txt";
    $filename = "test.zip";
    $zip = new ZipArchive();
    $zip->open($filename,ZipArchive::CREATE);   //打开压缩包
    $zip->addFile($path,basename($path));   //向压缩包中添加文件
    $zip->close();  //关闭压缩包
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    上述代码将c:/wamp/www/log.txt文件压缩生成了test.zip,并保存在当前目录。

    压缩多个文件

    压缩多个文件,其实就是addFile执行多次,可以通过数组的遍历来实现。

    <?php
    $fileList = array(
        "c:/wamp/www/log.txt",
        "c:/wamp/www/weixin.class.php"
    );
    $filename = "test.zip";
    $zip = new ZipArchive();
    $zip->open($filename,ZipArchive::CREATE);   //打开压缩包
    foreach($fileList as $file){
        $zip->addFile($file,basename($file));   //向压缩包中添加文件
    }
    $zip->close();  //关闭压缩包
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    压缩一个目录

    <?php
    function addFileToZip($path,$zip){
        $handler=opendir($path); //打开当前文件夹由$path指定。
        while(($filename=readdir($handler))!==false){
            if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
                if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归
                    addFileToZip($path."/".$filename, $zip);
                }else{ //将文件加入zip对象
                    $zip->addFile($path."/".$filename);
                }
            }
        }
        @closedir($path);
    }
    $zip=new ZipArchive();
    if($zip->open('rsa.zip', ZipArchive::OVERWRITE)=== TRUE){
        addFileToZip('rsa/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
        $zip->close(); //关闭处理的zip文件
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    压缩并下载zip包

    我的时候,我们需要打包之后,提供下载,然后删除压缩包。

    可以分为以下几步:

    1. 判断给出的路径,是文件夹,还是文件。文件夹还需要遍历添加文件。
    2. 设置相关文件头,并使用readfile函数提供下载。
    3. 使用unlink函数删除压缩包
    <?php
    function addFileToZip($path,$zip){
        $handler=opendir($path); //打开当前文件夹由$path指定。
        while(($filename=readdir($handler))!==false){
            if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
                if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归
                    addFileToZip($path."/".$filename, $zip);
                }else{ //将文件加入zip对象
                    $zip->addFile($path."/".$filename);
                }
            }
        }
        @closedir($path);
    }
    $zip=new ZipArchive();
    if($zip->open('rsa.zip', ZipArchive::OVERWRITE)=== TRUE){
        $path = 'rsa/';
        if(is_dir($path)){  //给出文件夹,打包文件夹
            addFileToZip($path, $zip);
        }else if(is_array($path)){  //以数组形式给出文件路径
            foreach($path as $file){
                $zip->addFile($file);
            }
        }else{      //只给出一个文件
            $zip->addFile($path);
        }
    
        $zip->close(); //关闭处理的zip文件
    }
    展开全文
  • zip压缩包查看程序.rar

    2012-02-24 20:49:33
    java写的;zip压缩包查看程序.rar
  • C#操作ZIP压缩包的dll文件
  • ZIP Password Recovery Magic 是一款专业破解 ZIP 压缩包加密密码的密码破译工具,支持自选字典第一次使用的时候请注意 在 Setting 里选择一下语言文件.注册信息: Name: BEAN Serial: ZPRM0015789
  • rar zip 压缩包 文件 密码 破解工具
  • Java实现Zip压缩包解压

    万次阅读 2019-06-17 19:32:34
    zip压缩包的解压是比较常见的应用场景,java代码的实现也很简单。废话不多说,直接上代码吧 一、代码 /** * zip解压 * @param srcFile zip源文件 * @param destDirPath 解压后的目标文件夹 * @throws ...

     对zip压缩包的解压是比较常见的应用场景,java代码的实现也很简单。废话不多说,直接上代码吧
    一、代码
     /**

      * zip解压  

      * @param srcFile        zip源文件

      * @param destDirPath     解压后的目标文件夹

      * @throws RuntimeException 解压失败会抛出运行时异常

      */

     public static void unZip(File srcFile, String destDirPath) throws RuntimeException {

         long start = System.currentTimeMillis();

         // 判断源文件是否存在

         if (!srcFile.exists()) {

             throw new RuntimeException(srcFile.getPath() + "所指文件不存在");

         }

         // 开始解压

         ZipFile zipFile = null;

         try {

             zipFile = new ZipFile(srcFile);

             Enumeration<?> entries = zipFile.entries();

             while (entries.hasMoreElements()) {

                 ZipEntry entry = (ZipEntry) entries.nextElement();

                 System.out.println("解压" + entry.getName());

                 // 如果是文件夹,就创建个文件夹

                 if (entry.isDirectory()) {

                     String dirPath = destDirPath + "/" + entry.getName();

                     File dir = new File(dirPath);

                     dir.mkdirs();

                 } else {

                     // 如果是文件,就先创建一个文件,然后用io流把内容copy过去

                     File targetFile = new File(destDirPath + "/" + entry.getName());

                     // 保证这个文件的父文件夹必须要存在

                     if(!targetFile.getParentFile().exists()){

                         targetFile.getParentFile().mkdirs();

                     }

                     targetFile.createNewFile();

                     // 将压缩文件内容写入到这个文件中

                     InputStream is = zipFile.getInputStream(entry);

                     FileOutputStream fos = new FileOutputStream(targetFile);

                     int len;

                     byte[] buf = new byte[BUFFER_SIZE];

                     while ((len = is.read(buf)) != -1) {

                         fos.write(buf, 0, len);

                     }

                     // 关流顺序,先打开的后关闭

                     fos.close();

                     is.close();

                 }

             }

             long end = System.currentTimeMillis();

             System.out.println("解压完成,耗时:" + (end - start) +" ms");

         } catch (Exception e) {

             throw new RuntimeException("unzip error from ZipUtils", e);

         } finally {

             if(zipFile != null){

                 try {

                     zipFile.close();

                 } catch (IOException e) {

                     e.printStackTrace();

                 }

             }

         }

     }

    二、小结
        解压的代码并不复杂,不过有个关键点是:创建文件时,需要保证该文件所在的文件夹必须存在。
        如果对Java实现zip压缩感兴趣,可看我上一篇博客:http://www.cnblogs.com/zeng1994/p/7862288.html

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,087
精华内容 44,034
关键字:

如何创建zip压缩包