您的位置:首页 >> 编程开发 >> Java >> J2EE >> 正文
J2EE RSS
 

采用org.apache.tools.zip来进行zip包的解压缩,支持目录嵌套和中文名

http://www.rdxx.com 05年07月24日 21:21 JR 我要投稿

关键词: 中文 , 压缩 , 目录 , Apache , ls , OO , IP , 解压缩
前不久发表了一篇采用该包来进行文件目录的压缩,得到广大热心朋友的支持,今天发表一篇zip的解压缩,支持目录嵌套和文件目录的中文名,也算补上上次的只压不解,回馈广大编程爱好者:

import java.io.*;
public class DeCompressBook {
    public DeCompressBook() {
    }

private void createDirectory(String directory, String subDirectory) {
    String dir[];
    File fl = new File(directory);
    try {
      if (subDirectory == "" && fl.exists() != true)
        fl.mkdir();
      else if (subDirectory != "") {
        dir = subDirectory.replace('\\', '/').split("/");
        for (int i = 0; i < dir.length; i++) {
          File subFile = new File(directory + File.separator + dir[i]);
          if (subFile.exists() == false)
            subFile.mkdir();
          directory += File.separator + dir[i];
        }
      }
    }
    catch (Exception ex) {
      System.out.println(ex.getMessage());
    }
  }

public void unZip(String zipFileName, String outputDirectory) throws Exception {
    try {
      org.apache.tools.zip.ZipFile zipFile = new org.apache.tools.zip.ZipFile(zipFileName);
      java.util.Enumeration e = zipFile.getEntries();
      org.apache.tools.zip.ZipEntry zipEntry = null;
      createDirectory(outputDirectory, "");
      while (e.hasMoreElements()) {
        zipEntry = (org.apache.tools.zip.ZipEntry) e.nextElement();
        System.out.println("unziping " + zipEntry.getName());
        if (zipEntry.isDirectory()) {
          String name = zipEntry.getName();
          name = name.substring(0, name.length() - 1);
          File f = new File(outputDirectory + File.separator + name);
共2页  1 2

 
 
标签: 中文 , 压缩 , 目录 , Apache , ls , OO , IP , 解压缩 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站