荟萃馆

位置:首页 > IT认证 > ACCP

Java的压缩与解压缩ZIP

ACCP3.2W

压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的.发明,尤其是对网络用户,因为它可以减小文件的字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。下面小编准备了关于Java的压缩与解压缩ZIP,提供给大家参考!

Java的压缩与解压缩ZIP

 压缩的

import eredInputStream;

import eredOutputStream;

import ;

import InputStream;

import OutputStream;

import ntry;

import utputStream;

public class Zip {

static final int BUFFER = 2048;

public static void main(String argv[]) {

try {

BufferedInputStream origin = null;

FileOutputStream dest = new FileOutputStream("E:\test\");

ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(

dest));

byte data[] = new byte[BUFFER];

File f = new File("e:\test\a\");

File files[] = Files();

for (int i = 0; i < th; i++) {

FileInputStream fi = new FileInputStream(files[i]);

origin = new BufferedInputStream(fi, BUFFER);

ZipEntry entry = new ZipEntry(files[i]ame());

extEntry(entry);

int count;

while ((count = (data, 0, BUFFER)) != -1) {

e(data, 0, count);

}

e();

}

e();

} catch (Exception e) {

tStackTrace();

}

}

}

 解压缩的

import eredInputStream;

import eredOutputStream;

import ;

import OutputStream;

import eration;

import ntry;

import ile;

public class UnZip {

static final int BUFFER = 2048;

public static void main(String argv[]) {

try {

String fileName = "E:\test\";

String filePath = "E:\test\";

ZipFile zipFile = new ZipFile(fileName);

Enumeration emu = ies();

int i=0;

while(oreElements()){

ZipEntry entry = (ZipEntry)Element();

//会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。

if (rectory())

{

new File(filePath + ame())rs();

continue;

}

BufferedInputStream bis = new BufferedInputStream(nputStream(entry));

File file = new File(filePath + ame());

//加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件

//而这个文件所在的目录还没有出现过,所以要建出目录来。

File parent = arentFile();

if(parent != null && (!ts())){

rs();

}

FileOutputStream fos = new FileOutputStream(file);

BufferedOutputStream bos = new BufferedOutputStream(fos,BUFFER);

int count;

byte data[] = new byte[BUFFER];

while ((count = (data, 0, BUFFER)) != -1)

{

e(data, 0, count);

}

h();

e();

e();

}

e();

} catch (Exception e) {

tStackTrace();

}

}

}