暗组
Would you like to react to this message? Create an account in a few clicks or log in to continue.

编写java程序,对单个文件解压

向下

编写java程序,对单个文件解压 Empty 编写java程序,对单个文件解压

帖子  POLARBEAR 周一 七月 30, 2012 1:37 pm

package com.software.fileZip;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Enumeration;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;

public class SingleFileUnZip {

/**
* 文件解压
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//获得需要被解压文件对象
File file = new File("C:/Documents and Settings/Administrator/桌面/test.zip");

//获得一个压缩文件并且指定编码模式
ZipFile zipFile = new ZipFile(file.getAbsolutePath(),"GBK");

//获取当前压缩文件中的所有条目的枚举
Enumeration e = zipFile.getEntries();

while(e.hasMoreElements())
{
//获取遍历到下一个条目
ZipEntry ze = (ZipEntry) e.nextElement();

//获取当前条目的输入流
InputStream is = zipFile.getInputStream(ze);

//获取文件解压后的实际文件对象
File outfile = new File(file.getParentFile(),ze.getName());

//包装节点流
PrintStream ps = new PrintStream(new FileOutputStream(outfile));

//定义一个可以容纳当前压缩条目长度的字节数。
byte[] b = new byte[1024];
int len = 0;
while((len=is.read(b))!=-1)
{
ps.write(b);
ps.flush();
}

ps.close();
is.close();
}


}

}


POLARBEAR

帖子数 : 117
注册日期 : 12-07-25

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题