用Java压缩文件或目录下的所有文件
2008-09-22 20:01
363 查看
import java.io.File; import org.apache.tools.zip.ZipOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; /** * @author tyrone * */ public class DirectoryZip { /** *@param inputFileName, file or directory waiting for zipping ,outputFileName output file name * */ public void zip(String inputFileName,String outputFileName) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outputFileName)); zip(out, new File(inputFileName), ""); System.out.println("zip done"); out.close(); } private void zip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { File[] fl = f.listFiles(); if (System.getProperty("os.name").startsWith("Windows")){ out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "//")); base = base.length() == 0 ? "" : base + "//"; } else{ out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; } for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + fl[i].getName()); } } else { out.putNextEntry(new org.apache.tools.zip.ZipEntry(base)); FileInputStream in = new FileInputStream(f); int b; System.out.println(base); while ( (b = in.read()) != -1) { out.write(b); } in.close(); } } public static void main(String[] args){ DirectoryZip m_zip=new DirectoryZip(); try{ m_zip.zip(args[0],"release//2005.zip"); }catch(Exception ex){ ex.printStackTrace(); } } } |
相关文章推荐
- 用Java压缩文件或目录下的所有文件
- 用Java压缩文件或目录下的所有文件
- 用Java压缩文件或目录下的所有文件
- Java实现压缩一个目录下所有图片文件
- java 把指定文件夹下的所有文件目录和文件都压缩到指定文件夹下
- Java实现Zip压缩/解压缩目录中的所有文件
- 计算一个目录下的所有.java文件的行数
- Java中删除文件、删除目录及目录下所有文件
- java压缩文件目录
- 遍历处理文件夹下所有.java文件代码左侧含有形如 /* 56 */注释的代码,并存到新的目录下
- Java作业:给定任意一个目录 ,以树形方式展示出该目录中的所有子目录和文件。另外,在展现的时候将目录排在上面,文件排在下面。每一层要加上缩进
- Java递归查找指定目录下的特定格式的文件 并压缩到指定目录下
- java语言基础(80)——递归获取指定目录下所有的文件
- 续:C# 趣味小程序(4)——遍历特定目录及其子目录 (应用实例,压缩指定目录下的所有文件)
- java递归读取目录下的所有文件
- java遍历目录下所有文件
- 用Java实现zip压缩文件和目录程序代码(二)
- [Java 8] (4) 列举目录下的所有文件和监视文件变化
- 使用 NIO.2 遍历目录下所有的Java文件