请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问 切换到宽版

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

切换风格 立即注册 找回密码

Java教程网

新浪微博达人勋

7256

积分

1879

帖子

1719

贡献

Rank: 8Rank: 8

积分
7256

社区QQ达人最佳新人活跃会员热心会员

发表于 2016-12-16 15:00:03 | 显示全部楼层 |阅读模式
  1. import java.io.File;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.util.Enumeration;
  6. import java.util.zip.ZipEntry;
  7. import java.util.zip.ZipFile;

  8. /**
  9. * 解压zip压缩文件
  10. *
  11. */
  12. public class Ziptest02 {
  13.         public static void main(String[] args) {
  14.                 /**
  15.                  * 声明要解压的zip文件 存放解压文件的目标文件
  16.                  */
  17.                 String srcZip="c:\\Users\\lqxion\\desktop\\tempzip.zip";
  18.                 String targetPath="c:\\Users\\lqxion\\desktop\\zipToFile";
  19.                 upZipToFile(srcZip,targetPath);
  20.         }
  21.         /**
  22.          * 1判断输入zip文件和目标文件是否存在
  23.          * 2判断目标文件是否为目录 若为否退出
  24.          * 3.判断目标文件是否已文件分隔符结尾 若为否添加上
  25.          * 4.声明ZipFile ZipEntry targetFilename 缓冲区 字节数组 bytes_read        每个条目的文件名entryName
  26.          * 5.遍历ZipFile
  27.          * @param srcZip
  28.          * @param targetPath
  29.          */
  30.         private static void upZipToFile(String srcZip, String targetPath) {
  31.                 // TODO Auto-generated method stub
  32.                 if(srcZip.length()==0||targetPath.length()==0){
  33.                         System.out.println("文件不存在");
  34.                         return;
  35.                 }
  36.                 try{
  37.                         ZipFile zipFile=new ZipFile(srcZip);
  38.                         ZipEntry entry=null;
  39.                         String entryName=null;
  40.                         String targetFilename=null;
  41.                         byte[] buffer=new byte[1024*10];
  42.                         int bytes_read=-1;
  43.                         //获取zip文件里所有的文件条目的名字
  44.                         Enumeration entrys=zipFile.entries();
  45.                         while(entrys.hasMoreElements()){
  46.                                 entry=(ZipEntry)entrys.nextElement();//获取entrys中的每一个文件元素
  47.                                 entryName=entry.getName();
  48.                                 targetFilename=targetPath+entryName;
  49.                                 if(entry.isDirectory()){
  50.                                         //如果entry是一个目录则创建目录
  51.                                         new File(targetFilename).mkdirs();
  52.                                         continue;
  53.                                 }else{
  54.                                         //如果entry是一个文件·则创建文件
  55.                                         new File(targetFilename).getParentFile().mkdirs();
  56.                                 }
  57.                                 //否则创建文件
  58.                                 File targetFile=new File(targetFilename);
  59.                                 System.out.println("正在创建文件"+targetFile.getAbsolutePath());
  60.                                 //打开文件输出流
  61.                                 FileOutputStream Fos=new FileOutputStream(targetFile);
  62.                                 //从ZipFile对象中打开entry的输入流
  63.                                 InputStream is=zipFile.getInputStream(entry);
  64.                                 while((bytes_read=is.read(buffer))!=-1){
  65.                                         Fos.write(buffer, 0, bytes_read);
  66.                                 }
  67.                                 //关闭流
  68.                                 is.close();
  69.                                 Fos.close();
  70.                         }
  71.                        
  72.                 }catch(IOException e){
  73.                         e.printStackTrace();
  74.                 }
  75.         }
  76. }
复制代码


来自群组: java开发组

新浪微博达人勋

2777

积分

694

帖子

694

贡献

Rank: 6Rank: 6

积分
2777

社区QQ达人

发表于 2016-12-16 15:00:23 | 显示全部楼层
我也顶起出售广告位

新浪微博达人勋

6468

积分

1617

帖子

1617

贡献

Rank: 8Rank: 8

积分
6468
发表于 2016-12-23 16:20:43 | 显示全部楼层
好帖必须得顶起

新浪微博达人勋

6658

积分

1663

帖子

1665

贡献

Rank: 8Rank: 8

积分
6658
发表于 2017-1-4 08:23:30 | 显示全部楼层
元芳你怎么看?

新浪微博达人勋

6430

积分

1606

帖子

1608

贡献

Rank: 8Rank: 8

积分
6430

社区QQ达人

发表于 2017-1-6 21:04:18 | 显示全部楼层
看起来好像不错的样子

新浪微博达人勋

6479

积分

1619

帖子

1620

贡献

Rank: 8Rank: 8

积分
6479
发表于 2017-1-9 12:07:46 | 显示全部楼层
占位编辑

新浪微博达人勋

3056

积分

765

帖子

763

贡献

Rank: 8Rank: 8

积分
3056

社区QQ达人

发表于 2017-1-26 18:48:28 | 显示全部楼层
高手云集 果断围观

新浪微博达人勋

6739

积分

1684

帖子

1685

贡献

Rank: 8Rank: 8

积分
6739
发表于 2017-2-3 06:35:51 | 显示全部楼层
路过

新浪微博达人勋

7208

积分

1833

帖子

1770

贡献

Rank: 8Rank: 8

积分
7208

社区QQ达人最佳新人活跃会员热心会员

发表于 2017-2-3 08:28:57 | 显示全部楼层
站位支持

新浪微博达人勋

3043

积分

798

帖子

741

贡献

Rank: 8Rank: 8

积分
3043

社区QQ达人

发表于 2017-2-7 10:54:07 | 显示全部楼层
为毛老子总也抢不到沙发?!!
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋|手机版|Archiver|Java教程网    

GMT+8, 2019-8-23 21:05 , Processed in 1.452129 second(s), 46 queries .

Powered by Discuz X3.2

© 2001-2013 JAVA教程网

快速回复 返回顶部 返回列表