JAVA解压缩问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:27:57
import java.util.zip.*;
import java.io.*;

public class ZipTest
{
public static void main(String[] args) throws Exception
{

byte[] value=null;
byte[] result=null;
Inflater inf=new Inflater();
ZipEntry fileName=null;// the entry name of the dircetory
OutputStream os=new FileOutputStream("C:\\Documents and Settings\\Administrator\\桌面\\j.jpg");//create result file
File file=new File("C:\\Documents and Settings\\Administrator\\桌面\\t.rar");//create a file
ZipFile zf=new ZipFile(file);

fileName=zf.getEntry("j.jpg");

ZipInputStream zis=new ZipInputStream(zf.getInputStream(fileName));
ZipEntry ze=new ZipEntry(fileName);

value=new byte[(int)ze.getSize()];
result=new byte[(int)ze.getSize()];

inf.setInput(value, 0, (int)ze.getSize())

这只能是zip的不能是 rar的文件

import java.io.IOException;
import java.util.Enumeration;
import java.util.zip.ZipEntry;

/**
* 获得zip文件里的所有文件,以及文件大小
* @author Administrator
*
*/
public class ZipFile {

public ZipFile() throws IOException
{
java.util.zip.ZipFile zf = new java.util.zip.ZipFile("E:/Java/Project.zip");
Enumeration e = zf.entries();
while(e.hasMoreElements())
{
ZipEntry ze = (ZipEntry) e.nextElement();
if(!ze.isDirectory())
System.out.println(new String(ze.getName().getBytes("ISO-8859-1"), "GB2312") + "大小:" +ze.getSize() / 1024 +"kb");
}
}
public static void main(String[] args) {
try {
new ZipFile();
} catch (IOException e) {
e.printStackTrace();
}
}

}