java生成压缩文件

  在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载。所以自己写了一个压缩文件的工具类。该工具类支持单个文件和文件夹压缩。放代码:

1 import java.io.BufferedOutputStream; 2 import java.io.File; 3 import java.io.FileInputStream; 4 import java.io.FileOutputStream; org.apache.tools.zip.ZipEntry; 7 import org.apache.tools.zip.ZipOutputStream; * @project: Test chenssy12 * @date 2013-7-28 13 * @Description: 文件压缩工具类14 *将指定文件/文件夹压缩成zip、rar压缩文件 CompressedFileUtil {* 默认构造函数 CompressedFileUtil(){2122 }* @desc 将源文件/文件夹生成指定格式的压缩文件,格式zip resourePath 源文件/文件夹 targetPath 目的压缩文件保存路径 void Exception compressedFile(String resourcesPath,String targetPath) throws Exception{File targetFile = new File(targetPath);//目的(!targetFile.exists()){36 targetFile.mkdirs(); 37 }FileOutputStream outputStream = new FileOutputStream(targetPath+”\\”+targetName);41ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(outputStream));4243createCompressedFile(out, resourcesFile, “”);4445 out.close(); 46 }* @desc 生成压缩文件。50 *如果是文件夹,则使用递归,进行文件遍历、压缩51 *如果是文件,美国服务器,直接压缩 out 输出流 file 目标文件 void Exception createCompressedFile(ZipOutputStream out,File file,String dir) throws Exception{(file.isDirectory()){File[] files = file.listFiles();out.putNextEntry(new ZipEntry(dir+”/”));6465dir = dir.length() == 0 ? “” : dir +”/”;(int i = 0 ; i < files.length ; i++){}71 }72else{ //当前的是文件,美国空间,打包处理FileInputStream fis = new FileInputStream(file);7576out.putNextEntry(new ZipEntry(dir));j = 0;[1024];80while((j = fis.read(buffer)) > 0){81out.write(buffer,0,j);82 }fis.close();85 }86 } main(String[] args){89CompressedFileUtil compressedFileUtil = new CompressedFileUtil(); {92compressedFileUtil.compressedFile(“G:\\zip”, “F:\\zip”);93System.out.println(“压缩文件已经生成…”);94} catch (Exception e) {95System.out.println(“压缩文件生成失败…”);96 e.printStackTrace();97 }98 }99 },虚拟主机为我祈祷平安就好。我的旅行,会有你们的故事陪伴,所以我不会孤单。放心吧。

java生成压缩文件

相关文章:

你感兴趣的文章:

标签云: