zip文件的解压,获取字节流

/**
     *
     * @param inputStream 输入流
     * @return 返回数据
     */
    private static String decompress(InputStream inputStream) {
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ZipInputStream zipInputStream = new ZipInputStream(inputStream);
        String rtn = null;
        try {
            while (zipInputStream.getNextEntry() != null) {
                int size = 0;
                byte[] buffer = new byte[1024];
                while (true) {
                    size = zipInputStream.read(buffer, 0, buffer.length);
                    if (size <= 0) {
                        break;
                    }
                    bos.write(buffer, 0, size);
                }
                bos.flush();
                bos.close();
            }
            zipInputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                byte[] be = bos.toByteArray();
                rtn = new String(be, "utf-8");
                bos.flush();
                bos.close();
                zipInputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return rtn;
    }

原文地址:https://www.cnblogs.com/lxh520/p/9004120.html

时间: 2024-10-25 11:44:13

zip文件的解压,获取字节流的相关文章

Android之zip文件加密解压及进度条的实现

zip文件的解压能够使用java的zip库,可是没有实现对加密文件的解压功能,这里能够使用zip4j来实现.详细能够參看该文<Android下zip压缩文件加密解密的完美解决方式>.该文件里没有实现解压进度的功能,这里进行一简单的实现. Zip4jSp.java /** * unzip file to dest dir with password in thread. * * @param zipFile * @param dest * @param passwd * @param chars

linux ubuntu12.04 解压中文zip文件,解压之后乱码

在windows下压缩后的zip包,在ubuntu下解压后显示为乱码问题 1.zip文件解压之后文件名乱码: 第一步 首先安装7zip和convmv(如果之前没有安装的话) 在命令行执行安装命令如下: sudo apt-get install p7zip-full convmv 第二步 假设zip文件名为y05文档.zip,那么先进入zip文件所在的目录,然后命令行执行 LANG=C 7z x y05文档.zip convmv -f cp936 -t utf8 -r --notest * 2.文

java实现zip文件的解压

使用到的包 org.apache.commons 下载文件 url:文件所在地址需要是http:// filePath:将下载的文件保存的路径 public static void getDownloadResource(String url, String filePath) throws IOException { File file = new File(filePath); if (!file.exists()) { file.createNewFile(); } OutputStrea

Android 下载zip压缩文件并解压

网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,在此记录一下下载zip文件并直接解压的方法. 其实也很简单,就是把下载文件和解压zip文件结合到一起.下面即代码: URLConnection connection; ZipInputStream zipIn = null; FileOutputStream fileOut = null; ZipEntry zipEntry = null; int readedBytes = 0; try { connection = mode

文件操作工具类: 文件/目录的创建、删除、移动、复制、zip压缩与解压.

FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.Fi

【代码审计】Spring Integration Zip不安全解压(CVE-2018-1261)漏洞分析

1.漏洞相关信息 漏洞名称:Spring Integration Zip不安全解压 漏洞编号:CVE-2018-1261 漏洞描述:在spring-integration-zip.v1.0.1.RELEASE之前的版本中,恶意用户通过在压缩文件中构造包含有特定文件名称的文件(受影响文件格式有bzip2, tar, xz, war, cpio, 7z),应用程序使用spring-integration-zip进行解压时,会导致跨目录任意写入文件漏洞的攻击.进而有可能被Getshell,远程控制.

linux下各种文件压缩解压(转载)

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲tar命令的基本用法:  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面 来举例说明一下:  # tar -cf all.tar *.jpg  这条命令是将所有.jpg的文件打成一个名为all.tar的包.-c是表示产生新的包 ,-f指定包的文件名.  # tar -

java基础之zip(压缩、解压)

本程序依赖第三方包Ant.jar.因为java自带的java.utils.zip.ZipOutputStream对一些敏感中文路径会抛出异常. package javax.zip; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.Ou

正确的 zip 压缩与解压代码

网上流传的zip压缩与解压 的代码有很大的问题 虽然使用了ant进行压缩与解压,但是任务的流程还是用的java.util.zip 的方式写的,我在使用的过程中遇到了压缩的目录结构有误,甚至出现不同解压软件显示的目录结构不同的窘境. 下面给出使用org.apache.tools.ant.taskdefs.Zip;和org.apache.tools.ant.taskdefs.Expand 的压缩和解压过程. import java.io.File; import org.apache.tools.a