package hhf.mail; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; /** * 压缩文件、解压压缩文件 * @author HHF * 2014年12月30日 */ public class ZIP { /** * 功能:压缩多个文件成一个zip文件 * @param srcfile:源文件列表 * @param zipfile:压缩后的文件 */ public static void zipFiles(File[] srcfile, File zipfile) { byte[] buf = new byte[1024]; try { // ZipOutputStream类:完成文件或文件夹的压缩 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile)); for (int i = 0; i < srcfile.length; i++) { FileInputStream in = new FileInputStream(srcfile[i]); out.putNextEntry(new ZipEntry(srcfile[i].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:解压后的目标目录 * @throws IOException */ @SuppressWarnings("rawtypes") public static void unZipFiles(File zipfile, String descDir) { File file = new File(descDir); if (!file.exists()) { try { file.mkdir(); } catch (Exception e) { e.printStackTrace(); } } 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("解压缩完成."); } zf.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { // 需要解压缩的文件 File file = new File("D:\\test"); File filenew = new File("D:\\test.zip"); zipFiles(file.listFiles(), filenew); // 解压后的目标目录 String dir = "D:\\workspace\\"; unZipFiles(filenew, dir); } }
旨在大家需要的时候方便作为工具类使用
相关推荐
JAVA压缩解压JAVA压缩解压JAVA压缩解压JAVA压缩解压JAVA压缩解压
Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载
java压缩解压文件
java程序,压缩与解压rar文件. java程序,压缩与解压rar文件.
java程序,压缩与解压zip文件.可以压缩带子目录与文件和解压带子目与文件
好用的文件压缩与解压代码
java压缩文件及解压的算法。方法使用见main函数
java 文件zip 压缩与解压 可以直接调用
代码实现解压,压缩linux下的GZ格式文件
用Java压缩解压ZIP文件,将利用java.util.zip 包中提供的类来实现压缩和解压zip 格式文件的功能。当然,本例在功能上完全没有Winzip 等成熟的压缩软件那么强,也不能做的很强,本例仅仅是演示如何来使用java.util....
java 压缩/解压 .zip/.rar/.tar 文件,大家一起讨论,学习 已实现zip压缩/解压,rar解压
使用 Java 语言实现并封装的创建 ZIP 格式的压缩文件并解压到指定目录和解压 ZIP 文件到指定目录的工具类。
Apache的java压缩(解压)文件jar包; jar包的名字有些别扭叫ant.jar
java解压zip压缩文件,读取压缩文件中的内容并输出到输出文件中。
JAVA100例之实例40 压缩和解压文件
对zip文件进行解压缩工具类,以及jar包
java压缩+解压GZ(Linux)文件.rar
java操作压缩文件和解压文件实例代码(经测试),把jar文件导入到项目里。源代码根据注释修改下路径就能用了