您的位置:首页 > 其它

文件压缩实例

2016-04-06 22:10 204 查看
文件压缩

package com.nzf.file;

import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/**
* 文件压缩实例
* @author Administrator
*
*/
public class CompressFile {

/**
* 文件压缩实例
* @param zipOutput
* @param file
* @throws IOException
*/
public static void addFile (ZipOutputStream zipOutput, File file) throws IOException{

System.out.println("正在添加文件 :" + file.getAbsolutePath());

// 每个压缩对象都为一个ZipEntry实例
ZipEntry zipEntry = new ZipEntry(file.getName());

// 将这个实例放入压缩文件中
zipOutput.putNextEntry(zipEntry);

//读取文件内容
FileInputStream ins = new FileInputStream(file);

byte[] tmp = new byte[1024];
int len = 0;

while((len = ins.read(tmp)) != -1) {
zipOutput.write(tmp, 0, len);
}

ins.close();
// 关闭当前的ZipEntry 实例
zipOutput.closeEntry();
}

public static void main(String[] args) throws IOException{

File sourceFolder = new File("E:/Qiyi/Offline");

File targetFile = new File("E:/Qiyi.zip");

//使用ZipOutputStream 创建压缩文件
ZipOutputStream zipOutput = new ZipOutputStream(new FileOutputStream(targetFile));

//列出该文件夹下的所有文件
File[] subFiles = sourceFolder.listFiles(new FileFilter(){
public boolean accept(File pathname){
if (pathname.isFile()) {
return true;
}
return false;
}
});

for(int i=0; i < subFiles.length; i++) {
addFile(zipOutput, subFiles[i]);
}

zipOutput.close();
System.out.println("\r\n文件压缩完成:" + targetFile.getAbsolutePath());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  压缩 实例