源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

通过java api实现解压缩zip示例

  • 时间:2022-05-26 17:01 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:通过java api实现解压缩zip示例
通过java api实现zip压缩格式的压缩与解压缩
[u]复制代码[/u] 代码如下:
package com.hongyuan.test; 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; public class ZipTest {  public static void main(String[] args) throws IOException {   unZip("bootstrap.zip");   zip("bootstrap_01.zip","bootstrap/css/bootstrap.css","bootstrap/css/bootstrap.min.css");  }  public static void unZip(String fileName) throws IOException{   //获取压缩文件对象   ZipFile zf = new ZipFile(fileName);   //遍历文件条目   Enumeration<? extends ZipEntry> items = zf.entries();   while (items.hasMoreElements()) {    ZipEntry item = items.nextElement();    String filePath = zf.getName().substring(0,      zf.getName().lastIndexOf("."))      + File.separator + item.getName();    File fileDir = new File(filePath.substring(0,      filePath.lastIndexOf("/")));    if (!fileDir.exists()) {     fileDir.mkdirs();    }    //从流中读取文件    OutputStream out = new FileOutputStream(filePath);    InputStream in = zf.getInputStream(item);    byte[] temp = new byte[1024];    int len = 0;    while ((len = in.read(temp)) > 0) {     out.write(temp, 0, len);    }    in.close();    out.close();   }   zf.close();  }  public static void zip(String fileName,String... files) throws IOException{   //构造压缩文件输出流   ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(fileName));   for(int i=0,size=files.length;i<size;i++){    //创建压缩实体    ZipEntry entry=new ZipEntry(files[i].substring(files[i].lastIndexOf("/")+1));    zos.putNextEntry(entry);    //将文件内容输出到压缩流中    InputStream is=new FileInputStream(files[i]);    int count=0;    byte[] buffer=new byte[1024];    while((count=is.read(buffer))>=0){     zos.write(buffer, 0, count);    }    zos.flush();    zos.closeEntry();    is.close();   }  } }
[img]http://files.jb51.net/file_images/article/201404/20140411092535.jpg?201431192634[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部