JAVA技巧(java实现压缩与解压缩ZIP)

JAVA技巧(java实现压缩与解压缩ZIP),第1张

JAVA技巧(java实现压缩与解压缩ZIP),第2张

压缩和解压缩的实现代码如下:
compressed
import Java . io . buffered输入流;
import Java . io . bufferedoutputstream;
导入Java . io . file;
导入Java . io . file inputstream;
导入Java . io . file output stream;
导入Java . util . zip . zip entry;
导入Java . util . zip . zip output stream;
public class Zip {
static final int BUFFER = 2048;
public static void main(String argv[]){
try {
BufferedInputStream origin = null;
file output stream dest = new file output stream(" E:\ \ test \ \ my files . zip ");
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
byte data[] =新字节[BUFFER];
File f = new File(" e:\ \ test \ \ a \ \ ");
File files[]= f . list files();
for(int I = 0;i < files.lengthi++){
file inputstream fi = new file inputstream(files[I]);
origin = new BufferedInputStream(fi,BUFFER);
zip entry entry = new zip entry(files[I].getName());
out . put next entry(entry);
int count;
while((count = origin . read(data,0,BUFFER))!= -1) {
out.write(data,0,count);
}
origin . close();
}
out . close();
} catch(Exception e){
e . printstacktrace();
}
}
}
2、解压缩。
导入Java . io . bufferedinputstream;
import Java . io . bufferedoutputstream;
导入Java . io . file;
导入Java . io . file output stream;
导入Java . util . enumeration;
导入Java . util . zip . zip entry;
导入Java . util . zip . zip file;
public class UnZip {
static final int BUFFER = 2048;
public static void main(String argv[]){
try {
String fileName = " E:\ \ test \ \ my files . zip ";
String file path = " E:\ \ test \ \ ";
ZipFile ZipFile = new ZipFile(文件名);
Enumeration emu = zip file . entries();
int I = 0;
while(emu . hasmoreelements()){
zip entry entry =(zip entry)emu . nextelement();
//目录会作为一个文件被读出一次,所以只创建目录就可以了,目录下的文件会被迭代到。
if(entry . is directory())
{
new File(File path+entry . getname())。mkdirs();
继续;
}
BufferedInputStream bis = new BufferedInputStream(zip file . getinputstream(entry));
File File = new File(File path+entry . getname());
//加入这个的原因是zipfile随机读取文件,使得先读取一个文件成为可能。
//而且这个文件所在的目录还没有出现,所以需要建立一个目录。
File parent = File . get parent File();
if(父!= null &&(!parent . exists()){
parent . mkdirs();
}
file output stream fos = new file output stream(file);
BufferedOutputStream Bos = new BufferedOutputStream(fos,BUFFER);
int count;
byte data[] =新字节[BUFFER];
while((count = bis . read(data,0,BUFFER))!=-1)
{
Bos . write(data,0,count);
}
Bos . flush();
Bos . close();
bis . close();
}
zip file . close();
} catch(Exception e){
e . printstacktrace();
}
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » JAVA技巧(java实现压缩与解压缩ZIP)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情