欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

復(fù)制代碼 代碼如下:

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)建壓縮實(shí)體
   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加載順序過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • java 實(shí)現(xiàn)下壓棧的操作(能動態(tài)調(diào)整數(shù)組大小)

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

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

    java實(shí)現(xiàn)阿拉伯?dāng)?shù)字轉(zhuǎn)漢字?jǐn)?shù)字

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

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

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

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

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

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

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

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

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

    深入解析Java多態(tài)進(jìn)階學(xué)習(xí)

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

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

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

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

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

最新評論