java压缩和解压文件 博客分类: java基础 压缩解压缩java
程序员文章站
2024-03-24 21:17:10
...
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
-
Android实现文件压缩与解压缩 博客分类: Android Android压缩解压缩
-
对文件和字符串压缩及解压缩类 博客分类: C#.Net c#压缩解压缩
-
使用ant解压缩包、打压缩包 博客分类: Java ant解压缩打压缩包
-
删除jar包中的指定文件 博客分类: Java compress解压缩删除jar包文件删除zip包文件删除压缩包文件
-
java中的并发:进程和线程 博客分类: java基础 java进程线程并发
-
JAVA IO InputStreamReader和OutputStreamReader 博客分类: JAVA 基础 JAVA.io操作 字符流
-
javaI/O系统基础知识 博客分类: java语言 ,I/O ,流 javaI/O流字节流文件传输
-
java基础-序列化和反序列化 博客分类: Java基础
-
文件解压,文件/目录更名,文件/目录删除,文件/目录移动 博客分类: java 文件更名文件删除文件移动解压