为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

java解压zip

2017-11-13 6页 doc 21KB 8阅读

用户头像

is_637320

暂无简介

举报
java解压zipjava解压zip ï??import java.io.*; import java.util.zip.*; /** *功èƒ,:zipå?‹ç,?ã??è??å?‹ *è??æ??:æœ?ç?‹åº?é?šè?‡ZipOutputStreamå’ŒZipInputStreamå??ç??了zipå?‹ç,?å’Œè??å ?‹åŠŸèƒ,. *é??é??:ç??äº?java.util.zip包å??ä??æ??æŒ?æ?‰å??,å,?zipæ?‡ä??ä??有å å,?ä?ºä?,æ ?‡ç...
java解压zip
java解压zip ï??import java.io.*; import java.util.zip.*; /** *功èƒ,:zipå?‹ç,?ã??è??å?‹ *è??æ??:æœ?ç?‹åº?é?šè?‡ZipOutputStreamå’ŒZipInputStreamå??ç??了zipå?‹ç,?å’Œè??å ?‹åŠŸèƒ,. *é??é??:ç??äº?java.util.zip包å??ä??æ??æŒ?æ?‰å??,å,?zipæ?‡ä??ä??有å å,?ä?ºä?,æ ?‡çš„æ?‡ä??æ??, * å??ä,šå‡ºç??å,‚å??:"Exception in thread "main " java.lang.IllegalArgumentException * at java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:285) *è??å†?: *ã??ã??æ??æ??1ã??ä??æ??import java.util.zip.ZipInputStreamå’ŒZipOutputStream. * java.util.zipå?ªæ??æŒ?UTF-8,Ant里é??å??ä?,指å?šç,?ç •. *ã??ã??æ??æ??2ã??ä,?ç??Apache Ant里æ??ä?›çš„zipå?,å…?ã?‚ * ä??ä,?ç??java.util.zip的包,把ant.jaræ??åˆ?classpathä??. * ç?‹åº?ä??ä,?ç??import org.apache.tools.zip.*; * *ä?…ä?›ç,?ç?‹å??ä? å?‚è?ƒ. * *@author Winty *@date 2008-8-3 *@Usage: * å?‹ç,?:java Zip -zip "directoryName" * è??å?‹:java Zip -unzip "fileName.zip" */ public class Zip{ private ZipInputStream zipIn; //è??å?‹Zip private ZipOutputStream zipOut; //å?‹ç,?Zip private ZipEntry zipEntry; private static int bufSize; //size of bytes private byte[] buf; private int readedBytes; public Zip(){ this(512); } public Zip(int bufSize){ this.bufSize = bufSize; this.buf = new byte[this.bufSize]; } //å?‹ç,?æ?‡ä??å,?内的æ?‡ä?? public void doZip(String zipDirectory){//zipDirectoryPath:éœ?è??å?‹ç,?çš„æ?‡ä??å,?å File file; File zipDir; zipDir = new File(zipDirectory); String zipFileName = zipDir.getName() + ".zip";//å?‹ç,?å??ç?Ÿæˆ?çš„zipæ?‡ä??å try{ this.zipOut = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFileName))); handleDir(zipDir , this.zipOut); this.zipOut.close(); }catch(IOException ioe){ ioe.printStackTrace(); } } //ç??doZipè?ƒç??,é?’å,’å?Œæˆ?ç›?å,?æ?‡ä??è??å ? private void handleDir(File dir , ZipOutputStream zipOut)throws IOException{ FileInputStream fileIn; File[] files; files = dir.listFiles(); if(files.length == 0){//å?‚æ?œç›?å,?ä?ºç?º,åˆ?å??ç‹?创å?ºä?‹. //ZipEntryçš„isDirectory()æ??æ??ä??,ç›?å,?ä?,"/"ç??å??. this.zipOut.putNextEntry(new ZipEntry(dir.toString() + "/")); this.zipOut.closeEntry(); } else{//å?‚æ?œç›?å,?ä??ä?ºç?º,åˆ?分åˆ?å,„ç?†ç›?å,?å’Œæ?‡ä??. for(File fileName : files){ //System.out.println(fileName); if(fileName.isDirectory()){ handleDir(fileName , this.zipOut); } else{ fileIn = new FileInputStream(fileName); this.zipOut.putNextEntry(new ZipEntry(fileName.toString())); while((this.readedBytes = fileIn.read(this.buf))>0){ this.zipOut.write(this.buf , 0 , this.readedBytes); } this.zipOut.closeEntry(); } } } } //è??å?‹æŒ‡å?šzipæ?‡ä?? public void unZip(String unZipfileName){//unZipfileNameéœ?è??è??å?‹çš„zipæ?‡ä??å FileOutputStream fileOut; File file; try{ this.zipIn = new ZipInputStream (new BufferedInputStream(new FileInputStream(unZipfileName))); while((this.zipEntry = this.zipIn.getNextEntry()) != null){ file = new File(this.zipEntry.getName()); //System.out.println(file);/// if(this.zipEntry.isDirectory()){ file.mkdirs(); } else{ //å?‚æ?œæŒ‡å?šæ?‡ä??çš„ç›?å,?ä??å??åœ?,åˆ?创å?ºä?‹. File parent = file.getParentFile(); if(!parent.exists()){ parent.mkdirs(); } fileOut = new FileOutputStream(file); while(( this.readedBytes = this.zipIn.read(this.buf) ) > 0){ fileOut.write(this.buf , 0 , this.readedBytes ); } fileOut.close(); } this.zipIn.closeEntry(); } }catch(IOException ioe){ ioe.printStackTrace(); } } //è??ç,?ç,?å†?区å,?å? public void setBufSize(int bufSize){ this.bufSize = bufSize; } //测è??Zipç?? public static void main(String[] args)throws Exception{ if(args.length==2){ String name = args[1]; Zip zip = new Zip(); if(args[0].equals("-zip")) zip.doZip(name); else if(args[0].equals("-unzip")) zip.unZip(name); } else{ System.out.println("Usage:"); System.out.println("å?‹ç,?:java Zip -zip directoryName"); System.out.println("è??å?‹:java Zip -unzip fileName.zip"); throw new Exception("Arguments error!"); } } }
/
本文档为【java解压zip】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索