package com.yigan.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
public class ZipUtil{
/**
* 功能:压缩多个文件成一个zip文件
* @param srcfile:源文件列表
* @param zipfile:压缩后的文件
*/
public static void zipFiles(List<File> srcfile,File zipfile){
byte[] buf=new byte[1024];
try {
//ZipOutputStream类:完成文件或文件夹的压缩
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipfile));
for(File file:srcfile){
FileInputStream in=new FileInputStream(file);
out.putNextEntry(new ZipEntry(file.getName()));
int len;
while((len=in.read(buf))>0){
out.write(buf,0,len);
}
out.closeEntry();
in.close();
}
out.close();
// System.out.println("压缩完成.");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 功能:解压缩
* @param zipfile:需要解压缩的文件
* @param descDir:解压后的目标目录
*/
public static void unZipFiles(File zipfile,String descDir){
try {
ZipFile zf=new ZipFile(zipfile);
for(Enumeration entries=zf.entries();entries.hasMoreElements();){
ZipEntry entry=(ZipEntry) entries.nextElement();
String zipEntryName=entry.getName();
InputStream in=zf.getInputStream(entry);
OutputStream out=new FileOutputStream(descDir+zipEntryName);
byte[] buf1=new byte[1024];
int len;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
in.close();
out.close();
// System.out.println("解压缩完成.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//2个源文件
File f1=new File("D:\\123.txt");
File f2=new File("D:\\test.xls");
//压缩后的文件
File zipfile=new File("D:\\biao.zip");
zipFiles(Arrays.asList(f1,f2), zipfile);
//需要解压缩的文件
//File file=new File("D:\\workspace\\flexTest\\src\\com\\biao\\test\\biao.zip");
//解压后的目标目录
// String dir="D:\\workspace\\flexTest\\src\\com\\biao\\test\\";
// unZipFiles(file, dir);
}
}
分享到:
相关推荐
对zip文件进行解压缩工具类,以及jar包
将文件打包成压缩文件,以及对压缩包的解压,方便好用。
使用 Java 语言实现并封装的创建 ZIP 格式的压缩文件并解压到指定目录和解压 ZIP 文件到指定目录的工具类。
Java工具类ZIP解压缩Java工具类ZIP解压缩Java工具类ZIP解压缩
Java用GZIP压缩解压文件源码
压缩文件方法 该方法需要引用zip4j的jar文件 单个文件、多个文件压缩 ... * @throws ZipException 压缩文件有损坏或者解压缩失败抛出 */ 方法详细见文件! 一个简单的demo 欢迎大家指点,一起提升
java bz2工具类源码,支持压缩解压bz2文件
ZIP格式压缩文件工具类
该工具支持zip的压缩和解压 1 1
zip压缩以及解压工具类,本人纯手打。其中包括zip所需要的jar 文件,copy到项目中可直接运行,以及工具类添加注释
主要介绍了Java实现的zip压缩及解压缩工具类,结合实例形式分析了java对文件的进行zip压缩及解压缩的具体操作技巧,需要的朋友可以参考下
java写的各种压缩工具类,主要用到了java.util.zip下的方法
这个实践项目旨在利用Java编程语言实现文件的压缩与解压缩功能,为用户提供一个高效、稳定且易于使用的文件处理工具。 源代码部分包含了完整的Java实现代码,包括压缩和解压缩两个主要功能。在压缩方面,代码使用了...
3.tar.gz或.tgz通常是指将文件打包到一个tar文件中,并将它使用Gzip进行压缩。 一、将两个文件打包到tar.gz 下面的这个例子是将2个文件打包为tar.gz压缩文件。下文代码中的流操作使用了try-with- resources语法,...
实现文件的创建、删除、复制、压缩、解压以及目录的创建、删除、复制、压缩解压等功能
解压缩加密工具类SSSS
java 写的一个工具类可以用来解压缩zip,rar文件到指定的文件夹下
使用Java ZIPInputStream、ZIPOutputStream、ZIPEntity完成对文件、文件夹的压缩与解压缩的封装,代码清晰易懂
zip带密码压缩解压缩工具类,支持中文文件名,支持密码