Java解压zip文件的关键代码
程序员文章站
2024-03-12 17:56:38
废话不多说了,给大家贴关键代码了,具体代码如下所示:
import java.io.file;
import java.io.fileoutputstream;...
废话不多说了,给大家贴关键代码了,具体代码如下所示:
import java.io.file; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstream; import java.util.enumeration; import org.apache.tools.zip.zipentry; import org.apache.tools.zip.zipfile; import org.springframework.stereotype.service; import org.springframework.transaction.annotation.transactional; /** * @date 创建时间:2016年9月25日 上午11:06:46 * @version 1.0 * @parameter * @since 2016年9月25日 上午11:06:46 * @return */ public class unzipfiles { //zip文件路径 string fileaddress = "d:\\test.zip"; //zip文件解压地址 string unzipaddress = "f:\\unzipfiles\\"; //去目录下寻找文件 file file = new file(fileaddress); zipfile zipfile = null; try { zipfile = new zipfile(file,"gbk");//设置编码格式 } catch (ioexception exception) { exception.printstacktrace(); system.out.println("解压文件不存在!"); } enumeration e = zipfile.getentries(); while(e.hasmoreelements()) { zipentry zipentry = (zipentry)e.nextelement(); if(zipentry.isdirectory()) { string name = zipentry.getname(); name = name.substring(0,name.length()-1); file f = new file(unzipaddress + name); f.mkdirs(); } else { file f = new file(unzipaddress + zipentry.getname()); f.getparentfile().mkdirs(); f.createnewfile(); inputstream is = zipfile.getinputstream(zipentry); fileoutputstream fos = new fileoutputstream(f); int length = 0; byte[] b = new byte[1024]; while((length=is.read(b, 0, 1024))!=-1) { fos.write(b, 0, length); } is.close(); fos.close(); } } if (zipfile != null) { zipfile.close(); } file.deleteonexit();//解压完以后将压缩包删除 }
好了,代码到此结束,以上所述是小编给大家介绍的java解压zip文件的关键代码,希望对大家有所帮助