首页编程zipentry java中的ZipEntry是什么意思

zipentry java中的ZipEntry是什么意思

编程之家2023-11-0773次浏览

大家好,今天我将为大家揭秘zipentry和java中的ZipEntry是什么意思的奥秘,希望我的分享能给你带来新的启发和知识。

zipentry java中的ZipEntry是什么意思

JDK ZipEntry压缩中文文件名乱码解决

项目中碰到问题.jdk zipEntry压缩中文文件名乱码

上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream的源文件,比较麻烦,不建议此项.

第二种就是拿来主义,因为开源项目 Ant里已经有现成的实现.把ant.jar加入到工程下的lib目录即可.

如果仅用到压缩,就加入ant.jar就导致引入了一些不必要的文件,所以我找到Ant1.8的源码,然后只把需要的那一部分编译打包成了一个jar文件,供大家使用

首先引入

Java代码

zipentry java中的ZipEntry是什么意思

import org.apache.tools.zip.ZipEntry;

import org.apache.tools.zip.ZipOutputStream;

关键示例代码如下:

Java代码

zos= new ZipOutputStream(new FileOutputStream(zipname));

FileInputStream fis= new FileInputStream(file);

zipentry java中的ZipEntry是什么意思

ZipEntry ze= new ZipEntry(file.getName());

ze.setSize(file.length());

ze.setTime(file.lastModified());

zos.putNextEntry(ze); zos.setEncoding("gbk");

java中的ZipEntry是什么意思

ZipEntry类是java.util.zip包下的一个类,

ZipEntry类用于表示 ZIP文件条目。

利用这个类压缩和解压zip文件

具体压缩的例子如下:

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.util.zip.ZipEntry;

importjava.util.zip.ZipOutputStream;

/**

*压缩程序

*@authoryoung

*

*/

publicclassSingleFileZip{

publicstaticvoidmain(String[]args){

Filefile=newFile("e:/test.txt");

FileInputStreamfis=null;

ZipOutputStreamzos=null;

try{

fis=newFileInputStream(file);

zos=newZipOutputStream(newFileOutputStream("e:/my.zip"));

//创建压缩文件中的条目

ZipEntryentry=newZipEntry(file.getName());

//将创建好的条目加入到压缩文件中

zos.putNextEntry(entry);

//写入当前条目所对应的具体内容

byte[]buff=newbyte[1024];

intlen=0;

while((len=fis.read(buff))!=-1){

zos.write(buff,0,len);

}

}catch(FileNotFoundExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

try{

fis.close();

zos.close();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

解压例子如下:

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.util.zip.ZipEntry;

importjava.util.zip.ZipFile;

importjava.util.zip.ZipInputStream;

/**

*解压程序

*@authoryoung

*

*/

publicclassSingleFileUnZip{

publicstaticvoidmain(String[]args){

FileOutputStreamfos=null;

ZipInputStreamzis=null;

InputStreamis=null;

try{

ZipFilezf=newZipFile("e:/my.zip");

zis=newZipInputStream(newFileInputStream("e:/my.zip"));

fos=newFileOutputStream("e:/unzip.txt");

//从压缩文件中获取一个条目

ZipEntryentry=zis.getNextEntry();

//获得该条目对象的数据流

is=zf.getInputStream(entry);

byte[]buff=newbyte[1024];

intlen=0;

while((len=is.read(buff))!=-1){

fos.write(buff,0,len);

}

}catch(FileNotFoundExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

try{

is.close();

zis.close();

fos.close();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

文章分享到这里,希望我们关于zipentry和java中的ZipEntry是什么意思的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。

cdn加速软件 什么是CDN加速无广告免费空间 如何申请免费空间