今天項目中用到了將word壓縮成zip文件供用戶下載,特記下以後備用
/**
* function:把指定目錄下面的所有文件壓縮成一個ZIP
* creator:morris
* create date:2009/05/31
* updater:
* update date:
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class ZipFile {
private String destinationDir = null; // zip file dir
private String fileName = null; // zip file name
private ZipOutputStream zout; // zip class
private ZipInputStream zin;
public ZipFile(String temp1,String temp2){
this.destinationDir = temp1;
this.fileName=temp2;
}
public void newZip() throws FileNotFoundException {
File temp=new File(this.destinationDir);
temp.mkdirs();
zout =
new ZipOutputStream(
new FileOutputStream(
this.destinationDir + "\\" + this.fileName));
}
//首先刪除該文件夾下所有文件
public void deleteAllFile(File tempDir) throws Exception {
File temp_file[] = null;
temp_file = tempDir.listFiles();
for (int i = 0; i < temp_file.length; i++) {
if (temp_file[i].isFile()) {
temp_file[i].delete();
}
}
}
//壓縮文件夾下面的所有文件為ZIP文件
public void createZipFile(File tempDir) throws Exception {
File temp_file[] = null;
byte temp[] = new byte[512];
temp_file = tempDir.listFiles();
for (int i = 0; i < temp_file.length; i++) {
if (temp_file[i].isFile()) {
FileInputStream in = new FileInputStream(temp_file[i]);
String temp1=new String(temp_file[i].getAbsolutePath().getBytes("ISO8859-1"));
if(!temp1.endsWith("zip")){
ZipEntry zip =
new ZipEntry(temp_file[i].getName());
zout.putNextEntry(zip);
int len = 0;
while ((len = in.read(temp)) != -1) {
zout.write(temp, 0, len);
}
zout.closeEntry();
}
}else{
createZipFile(temp_file[i]);
}
}
}
public void closeZip() throws Exception{
this.zout.close();
}
public void getZipFile(File tempDir){
try{
this.newZip();
this.createZipFile(tempDir);
this.closeZip();
}catch(Exception e){
e.printStackTrace();
}
}
//解壓ZIP文件
public void refreshZipFile() throws Exception{
ZipEntry temp=null;
FileOutputStream temp_file=null;
byte btemp[]=new byte[256];
zin=new ZipInputStream(new FileInputStream(this.destinationDir + "\\" + this.fileName));
while((temp=zin.getNextEntry())!=null){
File local=new File((new File(temp.getName())).getParent());
local.mkdirs();
temp_file=new FileOutputStream(temp.getName());
while(zin.read(btemp)!=-1){
temp_file.write(btemp);
}
temp_file.close();
zin.closeEntry();
}
zin.close();
}
}
分享到:
相关推荐
软件简介: 采用了标准的Dll组件方式,可供多种程序调用。 本组件支持将多个文件快速的压缩成一个zip压缩文件。 本组件支持将指定zip压缩文件解压缩到指定目录。 Delphi、PB、VB原码说明
这个脚本的主要功能是遍历指定目录下的所有Excel文件,然后使用Python的openpyxl库打开每个Excel文件,查找并删除其中的所有图片。由于Excel文件中的图片可能嵌入在工作表的不同位置,脚本需要能够识别和处理这些...
实现将多个word文件合并成一个word文档,整理两种方法,所需资料比较齐全,已经过测试,可直接下载使用。
这条命令是将所有.jpg的文件压缩成一个zip包 # unzip all.zip 这条命令是将all.zip中的所有文件解压出来 2)对于.rar 要在linux下处理.rar文件,需要安装RAR for Linux,能从网上下载,但要记住,RAR for ...
上面这条命令就是将当前文件夹下的文件压缩成一个c.zip 注意当需要压缩的文件超过一个时,需要带上参数-r unzip -d /home/user/ c.zip 上面这条命令将c.zip解压后的文件放到/home/user目录下 tar tar指令是打包指令...
软件简介: Word文档批量生成工具是一款基于Python和PyQt5开发的桌面应用程序,...批量生成并压缩文件:用户可以点击“批量生成并压缩文件”按钮,将生成的Word文档批量压缩成一个ZIP文件,方便用户进行文件管理和传输
东方光驱魔术师是一套虚拟光驱类的工具软件,它的工作原理是先在用户的计算机内虚拟一个虚拟光驱,将真实光盘的内容,压缩成一个虚拟光盘文件(*.DFI)存放在硬盘上,通过东方光驱魔术师来使用,操作与真实的光驱...
点击“全部存入一个PDF文件”右边的打开文件夹图标(如果你比较喜欢每个图象转成一个PDF文件请相应的更改一下),在这里我们可以新建一个PDF文件,在这里我用的是FoxitPDFReader,我还没有找到如何用这个软件新建一...
可以将所有图像文件合并到一个PDF文件,也可以每个图像文件分别转换成一个PDF文件。 8. 支持通过接口自动生成多级书签(最多3000项)、分段页码、添加文本页、设置PDF的Document Properties。 9. 接口文件可以用于...
可以将所有图像文件合并到一个PDF文件,也可以每个图像文件分别转换成一个PDF文件。 支持通过接口自动生成多级书签(最多3000项)、分段页码、添加文本页、设置PDF的Document Properties。 接口文件可以用于...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...
Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...
如果未指定文件系统,将使用现有的文件系统格式。 Map 显示驱动器号与物理设备名称的映射。该信息在运行 fixboot 和 fixmbr 命令时非常有用。 map 命令仅在使用故障恢复控制台时才可用。 Map [ arc] ...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...