用Java压缩文件或目录下的所有文件
2008-05-01 06:23
246 查看
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)——递归获取指定目录下所有的文件
- java递归读取目录下的所有文件
- java遍历目录下所有文件
- 用Java实现zip压缩文件和目录程序代码(二)
- [Java 8] (4) 列举目录下的所有文件和监视文件变化
- 续:C# 趣味小程序(4)——遍历特定目录及其子目录 (应用实例,压缩指定目录下的所有文件)
- 使用 NIO.2 遍历目录下所有的Java文件