java使用zip对多级目录文件压缩及解压操作接口(Java uses zip to compress and decompress interfaces for multilevel directory files).docVIP

  • 245
  • 0
  • 约4.63千字
  • 约 17页
  • 2017-08-31 发布于河南
  • 举报

java使用zip对多级目录文件压缩及解压操作接口(Java uses zip to compress and decompress interfaces for multilevel directory files).doc

java使用zip对多级目录文件压缩及解压操作接口(Java uses zip to compress and decompress interfaces for multilevel directory files)

java使用zip对多级目录文件压缩及解压操作接口(Java uses zip to compress and decompress interfaces for multilevel directory files) 进口java.io.file; 进口java.io.fileinputstream; 进口java.io.fileoutputstream; 进口; 进口java.io.inputstream; 进口java.io.outputstream; 进口java.util.enumeration; 进口java.util.zip.zipentry; 进口java.util.zip.zipfile; 进口java.util.zip.zipoutputstream; / * * * * @描述:拉链解压缩文件的工具类,文件可以是多级目录的结构 *(使用JDK的zipentry存在文件名中文乱码问题,用Apache工具的则不会) * @作者东莞分公司 * @日期2013-12-14电子邮件:dg90xf@163.com * / ziputil公共类 { / * * * 描述:压缩文件操作* @ * @param文件路径 *要压缩的文件路径 * @param descdir *压缩文件保存的路径 * / public static void zipfiles(字符串的文件路径,字符串descdir) { zipoutputstream ZOS = null; 尝试 { / /创建一个拉链输出流 ZOS =新zipoutputstream(新FileOutputStream(descdir)); / /启动压缩 startzip(ZOS,”,文件路径); / /系统。出来。println(“******************压缩完毕********************”); } 赶上(次) { / /压缩失败,则删除创建的文件 文件压缩文件为新文件(descdir); 如果(压缩文件。exists()) { delete()压缩文件; } / /系统。出来。println(“******************压缩失败********************”); E. printstacktrace(); } 最后 { 尝试 { 如果(ZOS!= null) { ZOS。(); } } 赶上(次) { E. printstacktrace(); } } } / * * * 描述:对目录中所有文件递归遍历进行压缩* @ * @param ZOS *拉链压缩输出流 * @param oppositepath *在拉链文件中的相对路径 * @param目录 *要压缩的文件的路径 * @抛出IOException * / 私有静态startzip(zipoutputstream ZOS,字符串oppositepath, 字符串目录)抛出IOException { xml文件的新文件(目录); 如果(文件。isdirectory()) { / /如果是压缩目录 文件文件文件listfiles() [ ]; 为(int i = 0;i files.length;i++) { 文件文件=文件[我]; 如果(文件。isdirectory()) { / /如果是目录,修改相对地址 字符串newoppositepath = oppositepath +一个getname() +“/”; / /压缩目录,这是关键,创建一个目录的条目时,需要在目录名后面加多一个”/“ zipentry入门=新zipentry(oppositepath +文件。getname() +“/”); ZOS putnextentry(进入); closeentry() ZOS; / /进行递归调用 startzip(ZOS,newoppositepath,文件。 GetPath ()); } Else { / / if not a directory, then compression ZipFile (zos, oppositePath, aFile); } } } Else { If / is compressed files, directly call compression method ZipFile (zos, oppositePath, file); } } / * * * * @description: compress a single file into a directory * @param zos * zip output stream * @param oppositePath * the relative path in the z

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档