org.apache.tools包 解压缩zip 解决中文乱码 ant 版本冲突

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 makeZipToFile(String zipFileName, String outputDirectory) {
  try {
   ZipFile zipFile = new ZipFile(zipFileName);
   java.util.Enumeration e = zipFile.getEntries();
   ZipEntry zipEntry = null;
   createDirectory(outputDirectory, "");
   while (e.hasMoreElements()) {
    zipEntry = (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);
     f.mkdir();
     System.out.println("创建目录:" + outputDirectory
       + File.separator + name);
    } else {
     String fileName = zipEntry.getName();
     fileName = fileName.replace('\\', '/');
     // System.out.println("测试文件1:" +fileName);
     if (fileName.indexOf("/") != -1) {
      createDirectory(outputDirectory, fileName.substring(0,
        fileName.lastIndexOf("/")));
      fileName = fileName.substring(
        fileName.lastIndexOf("/") + 1, fileName
          .length());
     }

     File f = new File(outputDirectory + File.separator
       + zipEntry.getName());

     f.createNewFile();
     InputStream in = zipFile.getInputStream(zipEntry);
     FileOutputStream out = new FileOutputStream(f);

     byte[] by = new byte[1024];
     int c;
     while ((c = in.read(by)) != -1) {
      out.write(by, 0, c);
     }
     out.close();
     in.close();
    }
   }
  } catch (Exception ex) {
   System.out.println(ex.getMessage());
  }
 }

----------------------------------------------------------------------------------------------------------------------------

在导入ant包时可能会有版本冲突,产生异常, 覆盖Weblogic安装文件夹下的D:\bea\weblogic81\server\lib\ant文件夹里的低版本ant.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值