1.首先实现java多文件压缩
package main;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Test
{
publicstatic void main(String[] args) throws Exception
{
byte[] buffer = new byte[1024];
// 生成的ZIP文件名为Demo.zip
String strZipName = "C:/Demo.zip";//生成文件的目录及命令
ZipOutputStream out = new ZipOutputStream(newFileOutputStream(strZipName));
// 需要同时下载的两个文件result.txt ,source.txt
File[] file1 = { new File("C:/2.txt"), new File("C:/1.exe"), newFile("C:/3.xls")};
for (int i = 0; i < file1.length; i++)
{
FileInputStream fis = new FileInputStream(file1[i]);
out.putNextEntry(new ZipEntry(file1[i].getName()));
int len;
// 读入需要下载的文件的内容,打包到zip文件
while ((len = fis.read(buffer)) > 0)
{
out.write(buffer, 0, len);
}
out.closeEntry();
fis.close();
}
out.close();
System.out.println("生成Demo.zip成功");
}
}
2.看完说面不要问我怎么没看见下载的代码,因为我的上篇文章java通过文件流实现下载文件已经介绍了这个下载的功能,不信你看去,我没骗你吧,只要把刚才压缩的文件的路径放到那个方法里面就可以下载了。
3.既然下载完了,我们刚才打的压缩包就没有用了,我们可以现在就删除或者做个定时器定时删除就行了,下面就看看java是怎么实现删除文件的吧!(不要膜拜我,请叫我雷锋!)
package com.web.tool;
import java.io.File;
// @author xuxile
//2012-07-04
// 删除文件或目录/
public class DeleteFileUtil{
//
publicstatic boolean delete(StringfileName){
File file = newFile(fileName);
if(!file.exists()){
System.out.println("删除文件失败:"+fileName+"文件不存在");
returnfalse;
}else{
if(file.isFile()){
returndeleteFile(fileName);
}else{
returndeleteDirectory(fileName);
}
}
}
//
publicstatic boolean deleteFile(StringfileName){ //2.删除单个文件
File file = newFile(fileName);
if(file.isFile() &&file.exists()){