java利用zip解压slpk文件

public static void main(String[] args) {
        File file = new File("C:\\Users\\Administrator\\Desktop\\aa\\sdcbz.slpk");//当前压缩文件
        ZipInputStream zin;//创建ZipInputStream对象
        try {
            ZipFile zipFile = new ZipFile(file);//创建压缩文件对象
            zin = new ZipInputStream(new FileInputStream(file));//实例化对象,指明要解压的文件
            ZipEntry entry ;
            while (((entry=zin.getNextEntry())!=null)&& !entry.isDirectory()){//如果entry不为空,并不在同一个目录下
                File tmp = null;
                tmp = new File("C:\\Users\\Administrator\\Desktop\\aa\\" + entry.getName());//解压出的文件路径
                if (!tmp.exists()){//如果文件不存在
                    tmp.getParentFile().mkdirs();//创建文件父类文件夹路径
                    OutputStream os = new FileOutputStream(tmp);//将文件目录中的文件放入输出流
                    //用输入流读取压缩文件中制定目录中的文件
                    InputStream in = zipFile.getInputStream(entry);
                    int count = 0;
                    while ((count = in.read())!=-1){//如有输入流可以读取到数值
                        os.write(count);//输出流写入
                    }
                    os.close();
                    in.close();
                }
                zin.closeEntry();
                System.out.println(entry.getName()+"解压成功");
            }
            zin.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

原文地址:https://www.cnblogs.com/james-roger/p/12083524.html

时间: 2024-10-13 06:29:38

java利用zip解压slpk文件的相关文章

Java代码中解压RAR文件

[java] view plaincopy import java.io.File; import java.io.FileOutputStream; import de.innosystec.unrar.Archive; import de.innosystec.unrar.rarfile.FileHeader; public class UnRARTools { public void unrar(File sourceRar, File destDir) throws Exception 

解决ubuntu中zip解压的中文乱码问题

在解压windows传过来的zip文件时,才会出现乱码.所以,我用另一个方法解决中文乱码问题. 安装 代码: sudo apt-get install unar 12.04以下或者想编译安装的朋友请参考: 使用 代码: lsar foo.zip #列出所有文件 如果列出的文件名已经正确 代码: unar foo.zip #解压所有文件 如果列出的文件名还不正确 代码: lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件 unar -e GB18030 foo

Java基础-压缩解压

几种实现方案 #1.基于java.util.zip: #2.使用zip4j #3.使用org.apache.tools.ant 示例代码 测试代码 <!-- Java zip > zip4j > apache ant --> /** * 方式1 * -基于: java.util.zip * ---https://github.com/Blankj/AndroidUtilCode * ---https://github.com/SearchSunny/Android-zip- * s

java 压缩以及解压文件,有tar,zip,gz(gizp)和解压

package com.yabsz.decompCompr; import java.io.File; import java.util.ArrayList; import java.util.List; public class main { public static void main(String[] args) { //需要下载commons-net-ftp-2.0.jar包下载地址:http://download.csdn.net/detail/u010696272/8006739

Java解压上传zip或rar文件,并解压遍历文件中的html的路径

1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute(Constant.USER_SESSION_KEY); String realName = user.getRealName(); System.out.println("--------获取登录用户信

在 Java 项目中解压7Zip特殊压缩算法文件

1 问题描述 Java Web 后端下载了一个经特殊算法压缩的 zip 文件,因为不能采用 java 本身自带的解压方式,必须采用 7Zip 来解压.所以,提到了本文中在 java web 后端调用外部 7zip exe 来解压文件的问题. 2 主要实现 2.1 定义缓冲区类 class StreamGobbler extends Thread { InputStream is; String type; public StreamGobbler(InputStream is, String t

JAVA zip解压 MALFORMED 错误

最近在在使用zip 解压时,使用JDK1.7及以上版本在解压时,某些文件会报异常 Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) at java.util.zip.ZipFile.getZipEntry(ZipFile.java:567) at java.util.zip.ZipFil

贴一段java读取hdfs 解压gz zip tar.gz保存到hdfs的代码

package main.java; import java.io.*;import java.util.LinkedList;import java.util.List;import java.util.zip.*; import org.apache.commons.compress.archivers.ArchiveException; import org.apache.commons.compress.archivers.ArchiveInputStream; import org.a

CentOS7下zip解压和unzip压缩文件

1.安装zip.unzip应用. yum install zip unzip 2.压缩和解压文件 以下命令均在/home目录下操作 cd /home #进入/home目录 a.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 b.把/home目录下面的mydata.zip解压到mydatabak目录里面 unzip mydata.zip -d mydatabak c.把/home目录下面的abc文件夹和12