`
tw1122333
  • 浏览: 40704 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

解压文件

 
阅读更多
   /**
     * 解压RAR
     */
    public void unRarFile(String targetPath, String absolutePath)
    {

        try
        {
            /** 系统安装winrar的路径 */
            String cmd = Constants.RAR_PATH;

            /** 解压命令 */
            String unrarCmd = cmd + Constants.CMD_ORDER + absolutePath + " " + targetPath;
            Runtime rt = Runtime.getRuntime();
            Process pre = rt.exec(unrarCmd);
            InputStreamReader isr = new InputStreamReader(pre.getInputStream());
            BufferedReader bf = new BufferedReader(isr);
            String line = null;
            while ((line = bf.readLine()) != null)
            {
                line = line.trim();
                if ("".equals(line))
                {
                    continue;
                }
              
            }

            bf.close();
        }
        catch (Exception e)
        {
            System.out.println("解压发生异常");
        }
    }


    /**
     * 解压zip文件
     * @param targetPath
     * @param zipFilePath
     */
    public void unzipFile(String targetPath, String zipFilePath)
    {

        File zipFile = new File(zipFilePath);
        InputStream is = null;
        ;
        ZipInputStream zis = null;
        try
        {
            is = new FileInputStream(zipFile);
            zis = new ZipInputStream(is);
        }
        catch (FileNotFoundException e1)
        {
            e1.printStackTrace();
        }

        ZipEntry entry = null;
        try
        {
            while ((entry = zis.getNextEntry()) != null)
            {
                String zipPath = entry.getName();
                try
                {

                    if (entry.isDirectory())
                    {
                        File zipFolder = new File(targetPath + File.separator + zipPath);
                        if (!zipFolder.exists())
                        {
                            zipFolder.mkdirs();
                        }
                    }
                    else
                    {
                        File file = new File(targetPath + File.separator + zipPath);
                        Constants.setREAL_UPLOAD_PATH(file.getPath());
                        if (!file.exists())
                        {
                            File pathDir = file.getParentFile();
                            pathDir.mkdirs();
                            file.createNewFile();
                        }

                        FileOutputStream fos = new FileOutputStream(file);
                        int bread;
                        while ((bread = zis.read()) != -1)
                        {
                            fos.write(bread);
                        }
                        fos.close();

                    }
                    System.out.println("成功解压:" + zipPath);

                }
                catch (Exception e)
                {
                    System.out.println("解压" + zipPath + "失败");
                    continue;
                }
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        try
        {
            zis.close();
            is.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

        System.out.println("解压结束");

    }
分享到:
评论

相关推荐

    VB6.0压缩文件、解压文件、合并文件源码实例.rar

    VB6.0压缩文件、解压文件、合并文件源码实例,这个小工具的用处在于:你可以把图片文件和压缩文件合并起来,传到网上相册中,既保存了图片,同时也把你的文件(可以合并个人隐私文件哦!)传了上去。打开这个文件时...

    易语言解压目录中的所有压缩文件源码.7z

    在易语言中,解压压缩文件通常需要调用第三方库或者系统API。例如,可以使用WinRAR SDK或7-Zip API来实现这个功能。7-Zip是一个免费的压缩软件,它的API提供了创建、读取和修改压缩文件的能力,包括常见的ZIP、7Z、...

    C++ zip、zip压缩文件处理等压缩文件处理类源码

    5从压缩文件解压文件 6释放(关闭)压缩文件 源码包含了封装的功能模块类以及测试类, 全部源码都可以用VS2020编译通过,请放心使用! 友情提示,为了兼顾一些旧代码,预编译头文件用的是StdAfx.h,如果需要更换为...

    批量解压多个压缩文件,可以指定位置自动创建目录解压不同目录中

    "批量解压多个压缩文件,可以指定位置自动创建目录解压不同目录中"这一功能,是提高工作效率的重要工具。以下是对这个主题的详细解释: 批量解压是指用户能够一次性处理多个压缩文件,而不是逐个进行解压操作。这种...

    java操作压缩文件和解压文件实例代码(经测试)

    3. **解压缩文件**:与压缩相反,`unzipFiles()`方法可能利用`ZipInputStream`来读取ZIP文件并解压到指定目录。通过循环遍历输入流中的每个`ZipEntry`,创建对应的目标文件,然后将其内容复制出来。 4. **路径和...

    C++解压以及压缩文件

    本主题涉及的是如何在C++环境中处理压缩和解压缩文件,特别是使用zip和unzip功能。以下是对这个话题的详细阐述: 1. **压缩文件**: 压缩文件是将大文件通过特定算法转换成较小文件的过程,目的是节省存储空间和...

    jarzip压缩文件和解压文件

    "jarzip压缩文件和解压文件"的主题主要涉及两种常用的压缩格式:JAR和ZIP,以及如何对这两种格式进行压缩和解压缩操作。 首先,我们来详细了解一下JAR(Java Archive)文件。JAR文件是Java平台特有的归档文件格式,...

    bandizip自解压文件制作

    总的来说,Bandizip通过其直观的界面和强大的自解压文件创建功能,使得创建和分享压缩文件变得更加便捷。了解并掌握如何使用Bandizip制作自解压文件,能够极大地提升你在数据管理和分发上的效率。

    压缩文件与解压文件程序

    本篇文章将深入探讨“压缩文件与解压文件程序”的相关知识点,以zip格式为例,详细介绍如何进行文件的压缩和解压。 一、ZIP文件格式 ZIP是一种流行的文件归档格式,由Phil Katz于1989年创建。它允许用户将多个文件...

    易语言解压目录中的所有压缩文件

    本篇将详细讲解如何使用易语言来解压目录中的所有压缩文件。 首先,我们需要理解易语言的基本语法结构。易语言采用“名词+动词”的编程模式,名词通常代表对象,动词则表示对对象的操作。例如,“打开文件”就是...

    详解C#压缩、解压文件夹/文件(带密码)

    这里是一个使用SharpCompress压缩文件的基本示例: ```csharp public static void CompressWithSharpCompress(string sourcePath, string zipPath, string password) { using (var writer = WriterFactory.Open...

    C#压缩文件解压文件.rar(附带动态库)

    解压过程中,如果压缩文件设置了密码,需在创建`ZipInputStream`时传入。 ```csharp using (FileStream zipToOpen = new FileStream("compressed.zip", FileMode.Open)) { using (ZipInputStream zipIn = new ...

    (新建 WinRAR 压缩文件.rar

    在实际的压缩文件描述中,通常会包含关于压缩文件内容的简短说明,比如文件来源、目的、重要性或解压密码等信息。由于这里提供的描述内容并不清晰,我们将不依赖这部分进行详细解释。 【标签】"大苏打"同样难以理解...

    matlab遍历文件夹下所有压缩文件并解压

    遍历指定文件夹及其子文件夹下的所有压缩文件,批量用7z软件解压,并实时显示解压进度。

    Qt之QZipReader解压文件

    在Qt库中,QZipReader是一个非常有用的工具类,它提供了读取和解压ZIP格式压缩文件的功能。本文将深入探讨QZipReader的使用方法、关键API以及在实际开发中的应用,帮助你理解和掌握如何在Qt环境中解压文件。 首先,...

    批量压缩解压文件(源码)

    在"批量压缩解压文件(源码)"这个项目中,我们可以推测包含的源码文件`BatchDoRAR`可能是一个C#程序,专门设计用于批量处理RAR格式的压缩文件。RAR是一种流行的压缩格式,由WinRAR软件支持,广泛用于数据归档和传输...

    RAR 是一个强力压缩工具,允许你管理和操作压缩文件。

    控制台 RAR 只支持 RAR 在Windows系统中的文件压缩工具winrar功能强大,虽然我们都习惯于用gui的...第二步是用s命令把这个压缩文件转化为自解压文件: winrar s asdf.tr.rar 转化后,生成了自解压文件:asdf.tr.exe

    解压文件工具WinRAR

    除了基本的压缩和解压功能,WinRAR还具有修复损坏压缩文件的能力。如果在传输过程中文件受损,WinRAR的内置修复工具可能能够恢复部分或全部文件内容。同时,它也支持自解压文件(.EXE格式),这种文件可以像普通程序...

    易语言模块文件压缩解压.rar

    1. 解压原理:文件解压是压缩的逆过程,它根据压缩文件中的编码信息,恢复原始文件的数据。解压过程需要与压缩时使用的算法相匹配。 2. 易语言中的文件解压:与压缩类似,易语言的文件解压也需要借助外部库或自定义...

    在空间解压文件

    这里,我们主要探讨的是如何在云端或者远程服务器上对压缩文件进行解压,以及涉及到的相关技术与步骤。 首先,让我们了解一下“空间解压文件”这一概念。这里的“空间”通常指的是云存储服务,如阿里云OSS、AWS S3...

Global site tag (gtag.js) - Google Analytics