ZipUtils-压缩工具类

ZipUtils-压缩工具类


支持中文的解压工具类。

更新于:2015-08-10

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;

public class ZipUtils {
    /**
     * 解压zip包,支持中文。
     * 需要ant.jar包,下载地址:http://download.csdn.net/detail/qiantujava/8984345
     *
     * @param zipFile    需要解压的文件,如:/mnt/sdcard/abc/abc.zip
     * @param zipFileDir 需要解压的文件所在的文件夹,如:/mnt/sdcard/abc/
     * @throws IOException
     */
    public static void unZipFile(String zipFile, String zipFileDir)
            throws IOException {
        BufferedInputStream bi;
        ZipFile zf = new ZipFile(zipFile, "GBK");
        Enumeration e = zf.getEntries();
        while (e.hasMoreElements()) {
            ZipEntry entry = (ZipEntry) e.nextElement();
            String entryName = entry.getName();
            String path = zipFileDir + "/" + entryName;
            if (entry.isDirectory()) {
                File dir = new File(path);
                if (!dir.exists()) dir.mkdirs();
            } else {
                String fileDir = path.substring(0, path.lastIndexOf("/"));
                File fileDirFile = new File(fileDir);
                if (!fileDirFile.exists()) fileDirFile.mkdirs();

                BufferedOutputStream bos = new BufferedOutputStream(
                        new FileOutputStream(zipFileDir + "/" + entryName));
                bi = new BufferedInputStream(zf.getInputStream(entry));
                byte[] readContent = new byte[1024];
                int readCount = bi.read(readContent);
                while (readCount != -1) {
                    bos.write(readContent, 0, readCount);
                    readCount = bi.read(readContent);
                }
                bos.close();
            }
        }
        zf.close();
    }
}

版权声明:本文为博主原创文章,转载请注明原地址。

时间: 2024-12-20 18:39:36

ZipUtils-压缩工具类的相关文章

压缩工具类 - ZipUtils.java

压缩工具类,提供压缩文件.解压文件的方法. 源码如下:(点击下载 - ZipUtils.java .FolderUtils.java.ant-1.7.0.jar.commons-io-2.4.jar.commons-lang-2.6.jar) import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; im

java打开文件夹(含判断操作系统工具类和解压缩工具类)

1.Runtime.getRuntime().exec("explorer D:\\Java"); 2.java.awt.Desktop.getDesktop().open(new File("D:\\Java")); 4.java.awt.Desktop.getDesktop().browse(...) 3. try { String[] cmd = new String[5]; cmd[0] = "cmd"; cmd[1] = "/

一个好用的android图片压缩工具类

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">用了很久图片压缩,之前人们一直使用google的官方图片压缩方法</span> final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = tr

java压缩工具类

package com.sgcc.admin.common.utils; import org.apache.commons.io.IOUtils; import org.slf4j.LoggerFactory; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry

java上传图片压缩工具类

package com.up.util; import java.awt.Image; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.Fi

图片上传服务器压缩工具类

这个是我整理调试的图片上传工具类:只需要图片路径方可:大家可以直接使用:希望可以帮助到大家:代码如下: package com.wyy.twodimcode.push; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; impo

文件压缩工具类

package com.csf.myproduct.common; import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.zip.CRC32; import java.util.zip.CheckedOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** * Cr

文件压缩和解压缩工具类

1 package com.liveyc.common.utils; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.util.zip.GZIPOutputStream; 9 10 impor

图片压缩java工具类

package com.net.util; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import org

功能这么齐全的图片压缩类,还有谁?

效果图: 压缩日志 com.pengkv.moon I/--->: 原尺寸:1215*1080 com.pengkv.moon I/--->: 最终压缩比例:3倍/新尺寸:405*360 工具特点 * 可以解析单张图片 * 可以解析多张图片 * 处理了压缩过程中OOM * 处理了部分手机照片旋转问题 * 压缩后存储在缓存中,并可以清理 * 压缩后返回缓存路径,方便上传 * 可以从缓存路径读取出Bitmap,方便展示 * 封装在2个类里,方便调用 使用方法 ImageCompressUtil.c