欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

使用java.util.zip压缩文件夹,支持加密,增加描述,java.util.zip加密,Java压缩辅助类(支持

来源: javaer 分享于  点击 17010 次 点评:127

使用java.util.zip压缩文件夹,支持加密,增加描述,java.util.zip加密,Java压缩辅助类(支持


Java压缩辅助类(支持文件夹压缩,加密,增加描述)

[Java]代码

package com.gb.soa.core.util;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;import nochump.util.extend.ZipOutput;import com.training.commons.file.FileUtils;/** ** <p>Title: </p>* <p>desc:* <p>Copyright: Copyright(c)Gb 2012</p>* @author 三少* @website www.ij2ee.com* @time 下午4:00:13* @version 1.0* @since */public class ZipOutputStreamUtils {    public static void main(String args[]) throws IOException {        //zipFiles("D:\\zipTest","D:\\1.ZIP");        zipFilesWithPwd("D:\\zipTest","D:\\1.ZIP", "123456");    }    /**     *     * @param path 文件夹路径     * @param returnFileName     * @throws IOException     */    public static void zipFiles(String path, String returnFileName)            throws IOException {        File inFile = new File(path);        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(                returnFileName));        zos.setComment("多文件处理");        zipFile(inFile, zos, "");        zos.close();    }    /*     * 压缩时候加密..     */    public static void zipFilesWithPwd(String zipDir, String zipName,            String password) {        File file = new File(zipDir);        byte[] zipByte = ZipOutput                .getEncryptZipByte(file.listFiles(), password);        FileUtils.writeByteFile(zipByte, new File(zipName));    }    public static void zipFile(File inFile, ZipOutputStream zos, String dir)            throws IOException {        if (inFile.isDirectory()) {            File[] files = inFile.listFiles();            for (File file : files)                zipFile(file, zos, inFile.getName());        } else {            String entryName = null;            if (!"".equals(dir))                entryName = inFile.getName();            else                entryName = inFile.getName();            ZipEntry entry = new ZipEntry(entryName);            zos.putNextEntry(entry);            InputStream is = new FileInputStream(inFile);            int len = 0;            while ((len = is.read()) != -1)                zos.write(len);            is.close();        }    }    public static void deleteFile(File file) {        if (file.exists()) { // 判断文件是否存在            if (file.isFile()) { // 判断是否是文件                file.delete(); // delete()方法 你应该知道 是删除的意思;            } else if (file.isDirectory()) { // 否则如果它是一个目录                File files[] = file.listFiles(); // 声明目录下所有的文件 files[];                for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件                    deleteFile(files[i]); // 把每个文件 用这个方法进行迭代                }            }            file.delete();        } else {            System.out.println("所删除的文件不存在!" + '\n');        }    }}
相关栏目:

用户点评