2010.03.25——打包下载

2010.03.25——打包下载
参考:http://www.blogjava.net/xcp/archive/2009/10/30/CompressToZip.html

需要ant.jar,下载地址如下:
http://apache.freelamp.com/ant/binaries/apache-ant-1.8.0-bin.zip


java

package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.tools.zip.ZipOutputStream;


public class CompressToZip {
    public void zip(String inputFileName) throws Exception {
        String zipFileName = "c:/excel.zip";// 打包后文件名字
        System.out.println(zipFileName);
        zip(zipFileName, new File(inputFileName));

    }

    private void zip(String zipFileName, File inputFile)throws Exception {
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));
        zip(out, inputFile, "");
        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();
            System.out.println("新增目录元素   " +base+ "/");
            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 {
            System.out.println("新增普通文件元素   " +base);
            out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
            FileInputStream in = new FileInputStream(f);
            int b;
            while ((b = in.read()) != -1) {
                out.write(b);
            }
            in.close();
        }
    }

    public static void main(String[] args) {
        CompressToZip test = new CompressToZip();
        try {
            test.zip("c:/excel");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

你可能感兴趣的:(java,apache,ant,Excel,F#)