文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>java实现文件zip压缩或者解压缩

java实现文件zip压缩或者解压缩

时间:2010-09-25  来源:Jet J.J.Cheng

zip压缩或者解压缩 package com.test;

import java.io.*;
import java.util.*;
import java.util.zip.ZipOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class TestZip {
 public TestZip() {
 }
 /**
  * 压缩文件
  * 
  * @param srcfile
  *            File[] 需要压缩的文件列表
  * @param zipfile
  *            File 压缩后的文件
  */
 public static void ZipFiles(java.io.File[] srcfile, java.io.File zipfile) {
  byte[] buf = new byte[1024];
  try {
   // Create the ZIP file
   ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
     zipfile));
   // Compress the files
   for (int i = 0; i < srcfile.length; i++) {
    FileInputStream in = new FileInputStream(srcfile[i]);
    // Add ZIP entry to output stream.
    out.putNextEntry(new ZipEntry(srcfile[i].getName()));
    // Transfer bytes from the file to the ZIP file
    int len;
    while ((len = in.read(buf)) > 0) {
     out.write(buf, 0, len);
    }
    // Complete the entry
    out.closeEntry();
    in.close();
   }
   // Complete the ZIP file
   out.close();
   System.out.println("压缩完成.");
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 /**
  * 解压缩
  * 
  * @param zipfile
  *            File 需要解压缩的文件
  * @param descDir
  *            String 解压后的目标目录
  */
 public static void UnZipFiles(java.io.File zipfile, String descDir) {
  try {
   // Open the ZIP file
   ZipFile zf = new ZipFile(zipfile);
   for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {
    // Get the entry name
    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);
    }
    // Close the file and stream
    in.close();
    out.close();
    System.out.println("解压缩完成.");
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载