亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

通過java api實現(xiàn)解壓縮zip示例

 更新時間:2014年04月11日 09:27:10   作者:  
這篇文章主要介紹了通過java api實現(xiàn)解壓縮zip示例,需要的朋友可以參考下

通過java api實現(xiàn)zip壓縮格式的壓縮與解壓縮

復制代碼 代碼如下:

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{
  //構(gòu)造壓縮文件輸出流
  ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(fileName));
  for(int i=0,size=files.length;i<size;i++){
   //創(chuàng)建壓縮實體
   ZipEntry entry=new ZipEntry(files[i].substring(files[i].lastIndexOf("/")+1));
   zos.putNextEntry(entry);
   //將文件內(nèi)容輸出到壓縮流中
   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();
  }
 }
}



相關(guān)文章

  • JAVA Web.xml加載順序過程詳解

    JAVA Web.xml加載順序過程詳解

    這篇文章主要介紹了JAVA Web.xml加載順序過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • java 實現(xiàn)下壓棧的操作(能動態(tài)調(diào)整數(shù)組大小)

    java 實現(xiàn)下壓棧的操作(能動態(tài)調(diào)整數(shù)組大小)

    這篇文章主要介紹了java 實現(xiàn)下壓棧的操作(能動態(tài)調(diào)整數(shù)組大小),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • java實現(xiàn)阿拉伯數(shù)字轉(zhuǎn)漢字數(shù)字

    java實現(xiàn)阿拉伯數(shù)字轉(zhuǎn)漢字數(shù)字

    這篇文章主要為大家詳細介紹了java實現(xiàn)阿拉伯數(shù)字轉(zhuǎn)換為漢字數(shù)字源代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Spring Cache的基本使用與實現(xiàn)原理詳解

    Spring Cache的基本使用與實現(xiàn)原理詳解

    緩存是實際工作中非經(jīng)常常使用的一種提高性能的方法, 我們會在很多場景下來使用緩存。下面這篇文章主要給大家介紹了關(guān)于Spring Cache的基本使用與實現(xiàn)原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-05-05
  • Spring整合Quartz實現(xiàn)定時任務(wù)調(diào)度的方法

    Spring整合Quartz實現(xiàn)定時任務(wù)調(diào)度的方法

    下面小編就為大家?guī)硪黄猄pring整合Quartz實現(xiàn)定時任務(wù)調(diào)度的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • SpringBoot中事務(wù)失效的六個原因解析

    SpringBoot中事務(wù)失效的六個原因解析

    這篇文章主要介紹了SpringBoot中事務(wù)失效的六個原因解析,由于Spring的事務(wù)是基于AOP的方式結(jié)合動態(tài)代理來實現(xiàn)的,因此事務(wù)方法一定要是public的,這樣才能便于被Spring做事務(wù)的代理和增強,需要的朋友可以參考下
    2023-10-10
  • lombok插件無法使用的原因及解決方案

    lombok插件無法使用的原因及解決方案

    這篇文章主要介紹了lombok插件無法使用的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 深入解析Java多態(tài)進階學習

    深入解析Java多態(tài)進階學習

    java的動態(tài)綁定機制非常重要。這篇文章將帶大家更深入的學習一下Java的多態(tài),文中的示例代碼講解詳細,對我們學習Java有一定幫助,需要的可以參考一下
    2022-07-07
  • SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼

    SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼

    這篇文章主要介紹了SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • JAVA 實現(xiàn)延遲隊列的方法

    JAVA 實現(xiàn)延遲隊列的方法

    這篇文章主要介紹了JAVA 實現(xiàn)延遲隊列的方法,文中講解非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2020-06-06

最新評論