精华内容
下载资源
问答
  • java解压zip压缩文件

    2013-02-24 16:39:48
    java解压zip压缩文件,读取压缩文件中的内容并输出到输出文件中。
  • C# 解压zip压缩文件

    千次阅读 2013-07-12 11:16:03
    C# 解压zip压缩文件

    此方法需要在程序内引用ICSharpCode.SharpZipLib.dll 类库

     /// <summary>
            /// 功能:解压zip格式的文件。
            /// </summary>
            /// <param name="zipFilePath">压缩文件路径</param>
            /// <param name="unZipDir">解压文件存放路径,为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹</param>
            /// <param name="err">出错信息</param>
            /// <returns>解压是否成功</returns>
            public bool UnZipFile(string zipFilePath, string unZipDir)// , out string err
            {
                // err = "";
                if (zipFilePath == string.Empty)
                {
                    //err = "压缩文件不能为空!";
                    return false;
                }
                if (!File.Exists(zipFilePath))
                {
                    //err = "压缩文件不存在!";
                    return false;
                }
                //解压文件夹为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹
                if (unZipDir == string.Empty)
                    unZipDir = zipFilePath.Replace(Path.GetFileName(zipFilePath), Path.GetFileNameWithoutExtension(zipFilePath));
                if (!unZipDir.EndsWith("\\"))
                    unZipDir += "\\";
                if (!Directory.Exists(unZipDir))
                    Directory.CreateDirectory(unZipDir);
    
                try
                {
                    using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath.ToLower())))
                    {
    
                        ZipEntry theEntry;
                        while ((theEntry = s.GetNextEntry()) != null)
                        {
                            string directoryName = Path.GetDirectoryName(theEntry.Name);
                            string fileName = Path.GetFileName(theEntry.Name);
                            if (directoryName.Length > 0)
                            {
                                Directory.CreateDirectory(unZipDir + directoryName);
                            }
                            if (!directoryName.EndsWith("\\"))
                                directoryName += "\\";
                            if (fileName != String.Empty)
                            {
                                using (FileStream streamWriter = File.Create(unZipDir + theEntry.Name))
                                {
    
                                    int size = 2048;
                                    byte[] data = new byte[2048];
                                    while (true)
                                    {
                                        size = s.Read(data, 0, data.Length);
                                        if (size > 0)
                                        {
                                            streamWriter.Write(data, 0, size);
                                        }
                                        else
                                        {
                                            break;
                                        }
                                    }
                                }
                            }
                        }//while
                    }
                }
                catch (Exception ex)
                {
                    //err = ex.Message;
                    return false;
                }
                return true;
            }//解压结束


    展开全文
  • Android 解压 Zip 压缩文件

    千次阅读 2018-11-29 18:26:30
    文章目录1、简介2、代码结构3、AndroidManifest....Android 解压 SD卡 里的 zip 压缩文件 2、代码结构 1)AndroidManifest.xml 文件 添加权限 2)MainActivity 功能实现 3、AndroidManifest.xml 添加 sd 卡读写...

    1、简介

    Android 解压 SD卡 里的 zip 压缩的文件

    2、代码结构

    在这里插入图片描述

    1)AndroidManifest.xml 文件 添加权限
    2)MainActivity 功能实现

    3、AndroidManifest.xml 添加 sd 卡读写权限

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    

    4、MainActivity 文件

    package com.example.tssh.myunzip;
    
    import android.Manifest;
    import android.content.pm.PackageManager;
    import android.support.v4.app.ActivityCompat;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.zip.CRC32;
    import java.util.zip.CheckedInputStream;
    import java.util.zip.ZipInputStream;
    
    public class MainActivity extends AppCompatActivity {
        private String TAG  = "MainActivity: ";
    
        private String zipPtath = "/storage/emulated/0/testunzip/test.zip";//压缩包路径
        private String  unzipPath = "/storage/emulated/0/testunzip/";//解压路径
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            checkPermission();
            unzipFile(zipPtath,unzipPath);
        }
    
       public void unzipFile(String zipPtath, String outputDirectory)throws IOException {
            /**
             * 解压assets的zip压缩文件到指定目录
             * @param context上下文对象
             * @param assetName压缩文件名
             * @param outputDirectory输出目录
             * @param isReWrite是否覆盖
             * @throws IOException
             */
    
            Log.i(TAG,"开始解压的文件: "  + zipPtath + "\n" + "解压的目标路径:" + outputDirectory );
            // 创建解压目标目录
            File file = new File(outputDirectory);
            // 如果目标目录不存在,则创建
            if (!file.exists()) {
                file.mkdirs();
            }
            // 打开压缩文件
            InputStream inputStream = new FileInputStream(zipPtath); ;
            ZipInputStream zipInputStream = new ZipInputStream(inputStream);
    
            // 读取一个进入点
            ZipEntry zipEntry = zipInputStream.getNextEntry();
            // 使用1Mbuffer
            byte[] buffer = new byte[1024 * 1024];
            // 解压时字节计数
            int count = 0;
            // 如果进入点为空说明已经遍历完所有压缩包中文件和目录
            while (zipEntry != null) {
                Log.i(TAG,"解压文件 入口 1: " +zipEntry );
                if (!zipEntry.isDirectory()) {  //如果是一个文件
                    // 如果是文件
                    String fileName = zipEntry.getName();
                    Log.i(TAG,"解压文件 原来 文件的位置: " + fileName);
                    fileName = fileName.substring(fileName.lastIndexOf("/") + 1);  //截取文件的名字 去掉原文件夹名字
                    Log.i(TAG,"解压文件 的名字: " + fileName);
                    file = new File(outputDirectory + File.separator + fileName);  //放到新的解压的文件路径
    
                    file.createNewFile();
                    FileOutputStream fileOutputStream = new FileOutputStream(file);
                    while ((count = zipInputStream.read(buffer)) > 0) {
                        fileOutputStream.write(buffer, 0, count);
                    }
                    fileOutputStream.close();
    
                }
    
                // 定位到下一个文件入口
                zipEntry = zipInputStream.getNextEntry();
                Log.i(TAG,"解压文件 入口 2: " + zipEntry );
            }
            zipInputStream.close();
            Log.i(TAG,"解压完成");
    
        }
    
    
        //sd 卡权限动态申请 
        private void checkPermission() {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                    != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, new String[]
                        {Manifest.permission.WRITE_EXTERNAL_STORAGE},100);
            }
        }
    
        @Override
        public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
            if(requestCode == 100){
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    Log.d(TAG, "");
    
                }
            }
        }
    }
    
    

    5、效果查看

    在这里插入图片描述
    在这里插入图片描述

    文献参考:
    android 从assets目录解压zip到本地sdCard
    https://blog.csdn.net/ding1145536113/article/details/42676849

    Android端解压zip文件(包含中文目录)
    https://blog.csdn.net/bjst72636916yle/article/details/

    Android解压sd卡里面Zip压缩文件
    https://blog.csdn.net/bjstyle/article/details/72636916

    展开全文
  • C++解压zip压缩文件

    千次阅读 2018-10-29 18:38:23
    最近做项目需要用到网络下载压缩文件解压至指定文件夹,本意是使用zlib库,但是花费许久时间仍没有编译通过官网的文件,于是放弃,转而寻求其他方法,在之前的博客中有说道用system调用shell命令的方式使用winrar解压,...

    前言

    最近做项目需要用到网络下载压缩文件并解压至指定文件夹,本意是使用zlib库,但是花费许久时间仍没有编译通过官网的文件,于是放弃,转而寻求其他方法,在之前的博客中有说道用system调用shell命令的方式使用winrar解压,但是这种方法有一个弊端就是要求客户端必须安装winrar,虽然winrar是每个电脑都必备的一款软件但是不排除有客户端没有安装的情况,因此本人花费半天时间找到了替代方法:使用专门的zip接口,即ziputils下载链接,测试可用

    附官网链接ziputils官网

    正文

    首先我的下载链接中有两个文件夹,分别为解压文件跟压缩文件,本人已调通解压文件功能

    将解压文件夹下的

    添加至项目,我的环境是VS2005

    下面上代码

    //将路径转为TCHAR类型
    		int iUnicode = MultiByteToWideChar(CP_ACP, 0, ZIPFileName_1.c_str(), ZIPFileName_1.length(), NULL, 0);
    		WCHAR* pwUnicode = new WCHAR[iUnicode + 2];
    		if (pwUnicode)
    		{
    			ZeroMemory(pwUnicode, iUnicode + 2);
    		}
    
    		MultiByteToWideChar(CP_ACP, 0, ZIPFileName_1.c_str(), ZIPFileName_1.length(), pwUnicode, iUnicode);
    
    		pwUnicode[iUnicode] = '\0';
    		pwUnicode[iUnicode+1] = '\0';
    
    		//解压文件
    		SetCurrentDirectoryA(strdec.c_str());//将进程的工作目录移动到该参数所指的目录下,该目录为winrar.exe的默认文件路径
    		//解压文件会直接在项目的.vcproj目录下进行
    		HZIP hz = OpenZip(pwUnicode,NULL);
    		ZIPENTRY ze; 
    		GetZipItem(hz,-1,&ze); 
    		int numitems = ze.index;
    		for (int zi = 0; zi < numitems; zi++)
    		{
    			ZIPENTRY ze; 
    			GetZipItem(hz, zi, &ze);
    			UnzipItem(hz, zi,ze.name);         
    		}
    		CloseZip(hz);

    经本人半天调试并阅读官网说明,ziputils接口全部使用TCHAR类型参数,所以要将你的解压路径转换成TCHAR类型

    SetCurrentDirectoryA(strdec.c_str());这句是将解压的工作目录切换至你想要的地方,可以删去,不影响功能

    下面附带官网示例:

    ①从现有文件创建zip

    // We place the file "simple.bmp" inside, but inside
    // the zipfile it will actually be called "znsimple.bmp".
    // Similarly the textfile.
    
    HZIP hz = CreateZip("simple1.zip",0);
    ZipAdd(hz,"znsimple.bmp",  "simple.bmp");
    ZipAdd(hz,"znsimple.txt",  "simple.txt");
    CloseZip(hz);

    ②解压压缩文件

    HZIP hz = OpenZip("\\simple1.zip",0);
    ZIPENTRY ze; 
    GetZipItem(hz,-1,&ze);
    int numitems=ze.index;
    // -1 gives overall information about the zipfile
    for (int zi=0; zi<numitems; zi++)
    { ZIPENTRY ze; GetZipItem(hz,zi,&ze); // fetch individual details
      UnzipItem(hz, zi, ze.name);         // e.g. the item's name.
    }
    CloseZip(hz);

    ③从资源压缩到内存

    HRSRC hrsrc = FindResource(hInstance,MAKEINTRESOURCE(1),RT_RCDATA);
    HANDLE hglob = LoadResource(hInstance,hrsrc);
    void *zipbuf = LockResource(hglob);
    unsigned int ziplen = SizeofResource(hInstance,hrsrc);
    hz = OpenZip(zipbuf, ziplen, 0);
    ZIPENTRY ze; int i; FindZipItem(hz,"sample.jpg",true,&i,&ze);
    // that lets us search for an item by filename.
    // Now we unzip it to a membuffer.
    char *ibuf = new char[ze.unc_size];
    UnzipItem(hz,i, ibuf, ze.unc_size);
    ...
    delete[] ibuf;
    CloseZip(hz);
    // note: no need to free resources obtained through Find/Load/LockResource

    ④按块拆分到元容器

    char buf[1024]; ZRESULT zr=ZR_MORE; unsigned long totsize=0;
    while (zr==ZR_MORE)
    { zr = UnzipItem(hz,i, buf,1024);
      unsigned long bufsize=1024; if (zr==ZR_OK) bufsize=ze.unc_size-totsize;
      ... maybe write the buffer to a disk file here
      totsize+=bufsize;
    }

    由于本次项目没有全部写完,暂时不上传项目

    展开全文
  • QT使用quazip解压zip压缩文件

    千次阅读 2019-06-03 17:45:20
    博主详完成的任务就是,使用QT从服务器端下载zip压缩文件,然后对zip压缩文件进行解压即可。 博主引用quazip动态库进行解压操作,看了很多文章和其他博主的分享,进行自己的总结与分享。 首先是对quazip进行编译,...

    博主环境:QT5.9.1 & VS 2015

    博主详完成的任务就是,使用QT从服务器端下载zip压缩文件,然后对zip压缩文件进行解压即可。

    博主引用quazip动态库进行解压操作,看了很多文章和其他博主的分享,进行自己的总结与分享。

    首先是对quazip进行编译,得到quazip的动态库,quazip的源码可以在网上直接下载,也可以下载别人编译好的动态库,博主选择自己编译(自己动手,衣食无忧)。

    1.zlib的编译,参考:https://blog.csdn.net/mml5211314/article/details/90754371

    2.quazip源码的下载:https://sourceforge.net/projects/quazip/

    quazip的编译:将下载的quazip进行解压,打开quazip,建立include和lib两个文件夹,在include文件夹放入zlib1211/contrib/minizip 里的所有.h文件,lib文件里放入zlib编译生成的zdll.lib文件

    用QT打开quazip.pro,进入,点击quazip.pro,将第二行修改成如下所示:

    添加依赖的zlib库,项目右击,选择添加库,添加外部库,点击下一步。

    点击库文件的浏览按钮,选择lib文件夹下的zlib.dll文件,点击下一步,完成即可,在quazip.pro下会自动添加一下代码。

    对项目进行先执行qmake,再进行构建,构建完成,就可以在Debug模式下生成我们需要的dll文件。

    至此quazip编译完成。

    新建QT项目,在项目文件下,新建include文件夹和lib文件夹,将quazip下的quazip文件里的所有.h文件复制到include文件中。

    将quazip编译生成的quazip.lib和zlib编译生成的zdll.lib复制到lib文件夹下

    按照上面的方法进行添加依赖库,在项目的.pro添加一下代码:

                                                                                                                        在项目的头文件加入:#include <JlCompress.h>      进行验证,运行成功,则可以进行文件的压缩和解压。                                                                                                                                                                                                        quazip中的压缩和解压接口学习可以参照:https://yq.aliyun.com/articles/24428                                                                                                                                                               

    展开全文
  • 首先说明一下本文的需求:利用Windows自带的API、DLL或命令行参数等任何手段,解压一个标准的zip压缩文件,并且不借助任何第三方程序。 一、前言——徒劳的探索 为什么会提出这种需求呢?因为我近期在编程中,...
  • 有一个压缩包很大,如果解压全部耗时间太长,想只解压自己需要的文件,求大神帮忙,代码最好。
  • 由于java自带的解压缩包不能在压缩文件中存在中文名,使用apache的开发包可以支持中文。  首先需要下载org.apache.tools.zip的jar包【下载地址在此】,将此jar包复制到工程的libs目录下,在代码头部需要导入下面的...
  • 用Java压缩解压ZIP文件

    2021-03-16 06:19:54
    摘要:Java源码,文件操作,压缩文件,解压文件 用Java压缩解压ZIP文件,将利用java.util.zip 包中提供的类来实现压缩和解压zip 格式文件的功能。当然,本例在功能上完全没有Winzip 等成熟的压缩软件那么强,也不能做的...
  • Python压缩解压zip文件

    万次阅读 多人点赞 2018-06-28 11:37:09
    一、python压缩指定文件夹def zip_file(src_dir): zip_name = src_dir +'.zip' z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED) for dirpath, dirnames, filenames in os.walk(src_dir): fpath ...
  • zip压缩解压文件

    2018-07-04 09:24:56
    zip压缩解压文件,提供两种方法:一,用java自带方式java.util.zip;二,应用apache的jar包,org.apache.commons.compress.archivers.zip
  • Zip压缩文件没有解压密码怎么办?

    万次阅读 多人点赞 2020-07-14 16:14:00
    Zip压缩文件没有解压密码怎么办? 在平时,我们难免的需要到浏览器上面寻找一些需要的资源,可往往下载好了zip文件后,解压时却需要密码。真的让人很痛苦,这样设置密码无非是想利用这些资源来赚取利益罢了。那有...
  • zip 压缩 文件 Java

    2010-08-17 14:59:59
    zip 压缩 文件 Java zip 压缩 文件 Java zip 压缩 文件 Java zip 压缩 文件 Java
  • zip文件进行解压缩工具类,以及jar包
  • java 文件zip 压缩解压 可以直接调用
  • C#实现zip压缩解压zip文件源代码,附加有注释,代码清晰易懂!
  • PHP编写的在线压缩解压ZIP文件的小工具,操作密码需要再源文件内修改,默认密码0
  • 使用C#压缩解压zip格式文件

    千次阅读 2016-10-15 17:39:53
    在C#.NET中压缩解压zip文件 zip是一种免费开源的压缩格式,windows平台自带zip压缩和解压工具,由于算法是开源的,所以基于zip的解压缩开源库也很多,SharpZipLib是一个很不错的C#库,它能够解压缩zip、gzip和tar...
  • 主要给大家介绍了利用Android实现下载zip压缩文件解压的方法,文中给出了示例代码并提供了源码下载,需要的朋友可以参考借鉴,下面来一起看看吧。
  • Linux 解压压缩文件--zip unzip

    千次阅读 2019-08-14 22:26:18
    其实在Linux中,有许多种解压压缩文件的命令,本博客介绍zip 、unzip 命令 如果Linux 系统不能运行zip 、unzip 命令的朋友,先安装一下: 1)安装 1.apt-get 方式安装: sudo apt-get install zip 2.yum ...
  • Create, Add, Extract, Update, Remove files from a Zip file针对ZIP压缩文件创建、添加、抽出、更新和移除文件 Read/Write password protected Zip files(读写有密码保护的Zip文件) Supports AES 128/256 ...
  • 使用UnRAR.exe解压zip文件不能成功,UnRAR.exe只能解压rar格式的压缩文件 使用WinRAR.exe 可成功解压zip文件 命令如下(将ccss.zip文件解压到 D:\bbb\test文件目录下): “C:\Program Files (x86)\WinRAR\WinRAR.exe...
  • 只能压缩解压zip格式的,不需要dll或者库文件,核心是HZIP,支持带密码压缩解压。详情参见: http://blog.csdn.net/sunflover454/article/details/48981841
  • Scala压缩解压Zip文件

    千次阅读 2019-10-08 12:22:16
    import java.io.{File, FileInputStream, FileOutputStream, BufferedInputStream} import java.util.zip.{ZipInputStream, ZipOutputStream, ZipEntry} /** * create by LiuJinHe 2019/...
  • java 生成zip压缩文件

    热门讨论 2010-06-21 08:51:27
    java 生成zip压缩文件 java 生成zip压缩文件
  • Linux zip压缩或者zip解压文件

    千次阅读 2018-02-28 13:55:31
    tar -zcvf /home/xahot.tar.gz /xahottar -zcvf 打包后生成的文件名全...zip 压缩方法: 压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归zip [参数] [打包后的文件名] [打包的目录路径]解压 unzip xahot.zip...
  • import zipfile ...ZipFile=zipfile.ZipFile('A.zip') GZFile=ZipFile.read('Test.gz') txtFile=gzip.GzipFile(fileobj=gzip.io.BytesIO(GZFile)) txtData=txtFile.read(1024) txtFile.close() ZipFile....
  • Zip文件压缩解压

    千次阅读 2017-05-08 17:54:06
    Java zip文件压缩解压

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 106,132
精华内容 42,452
关键字:

怎么解压zip压缩文件