编写java程序,对单个文件解压
编写java程序,对单个文件解压
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();
}
}
}
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
您在这个论坛的权限:
您不能在这个论坛回复主题