日期:2014-05-16 浏览次数:20326 次
最近的项目上用到的是JSF,需求是做一个页面在的下载,实现可以下载文件到客户端。并且和单独的文件下载不同的是,此下载是ZIP文件,就是先把指定目录下的文件先压缩,再进行页面下载。具体代码如下:
/**
* 程序自动打包
* @throws IOException
*/
public String getZipData(String fileName) throws IOException{
ZipOutputStream zos = null;
FileOutputStream fos = null;
DataOutputStream dos = null;
String zipFileName = ""; //--压缩的文件名
String realInputFilePath = ""; //--压缩文件输入流路径
try{
String realNewFilePath = "d:/xxx"; //--压缩文件的路径
zipFileName = realNewFilePath + fileName + ".zip";
realInputFilePath ="e:/xxx"; //--要压缩文件的路径
File directory = new File(realInputFilePath);
File[] files = directory.listFiles(); //--得到指定目录下所有文件名
if(null != files){
int fileLen = files.length;
fos = new FileOutputStream(zipFileName); //--打包后路径 + 文件名
dos = new DataOutputStream(fos);
zos = new ZipOutputStream(dos); //--定义zip输流