首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ZIP封装简单实现

2012-11-09 
ZIP打包简单实现?package Testimport java.io.BufferedInputStreamimport java.io.Fileimport java.io.

ZIP打包简单实现

?

package Test;import java.io.BufferedInputStream;import java.io.File;import java.io.FileFilter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class ZIP_Test {public static void main(String[] args) throws IOException {zip();}public static void zip() throws IOException {// 需要压缩的文件目录String inputPath = "C:/test";// 压缩文件存放的路径String outputPath = "c:/";// 压缩文件NameString zipName = "zip_test.zip";// 设置压缩后ZIP文件输出地址FileOutputStream fos = new FileOutputStream(outputPath+zipName);ZipOutputStream zop = new ZipOutputStream(fos);zop.setMethod(ZipOutputStream.DEFLATED);// 选出inputPath下,全部匹配的文件。File f = new File(inputPath);File[] files = f.listFiles(new FileFilter(){public boolean accept(File pathname) {return pathname.getName().matches(".*");}});// 输出文件名 start ---------for(File xxx : files){System.out.println(xxx.getName());}// 输出文件名  end ---------// 如果没有需要压缩的文件,即返回if (files.length == 0) return;// 读取全部inputPath下匹配的文件,写入ZIP文件中for (File file : files) {ZipEntry ze = new ZipEntry(file.getName());ze.setSize(file.length());// (long)是强行转换类型zop.putNextEntry(ze);InputStream is = new BufferedInputStream(new FileInputStream(f.getPath()+"/"+file.getName()));byte[] buf = new byte[1024];int readLen = -1;while ((readLen=is.read(buf, 0, 1024))!=-1) { zop.write(buf, 0, readLen); } is.close();}zop.close();}}

热点排行