jdk-1.4======================================
public String genereateRARFile(String flow , List listFileName,String exname,String filepath)
{
String file123= filepath + File.separator + "edfj" + flow + ".zip";
String file123name= "edfj" + flow + ".zip";
try
{
boolean flag=false;
for (int i = 0; i < listFileName.size(); i++)
{
Map map=(Map)listFileName.get(i);
File file = new File(filepath+"/"+map.get("cct_ali_filename").toString());
if(file.exists()){
flag=true;
}
}
if (listFileName.size() > 0)
{
if(flag){
File zipFileName = new File(file123);
InputStream input = null;
ZipOutputStream zipOut = null;
zipOut = new ZipOutputStream(new FileOutputStream(zipFileName));
for (int j = 0; j < listFileName.size(); j++)
{
Map map=(Map)listFileName.get(j);
File file = new File(filepath+"/"+map.get("cct_ali_filename").toString());
if(file.exists()){
EMPLog.log(EMPConstance.EMP_COMM, EMPLog.ERROR, 0,"读取文件名字:" +filepath+"/"+map.get("cct_ali_filename").toString());
input = new FileInputStream(file);
try {
zipOut.putNextEntry(new ZipEntry(file.getName()));
} catch (Exception e) {
continue;
}
int temp = 0;
while ((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
}
}
//把生成的excel文件压入ZIP包中
EMPLog.log(EMPConstance.EMP_COMM, EMPLog.ERROR, 0,"把生成的excel文件压入ZIP包中" +null);
File exfile = new File(filepath+"/"+exname);
if(exfile.exists()){
EMPLog.log(EMPConstance.EMP_COMM, EMPLog.ERROR, 0,"读取生成excel文件名字:" +filepath+"/"+exfile);
input = new FileInputStream(exfile);
zipOut.putNextEntry(new ZipEntry(exfile.getName()));
int temp = 0;
while ((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
EMPLog.log(EMPConstance.EMP_FLOW, EMPLog.DEBUG, 0, "删除excel文件",null);
exfile.delete();
}
zipOut.close();
EMPLog.log(EMPConstance.EMP_FLOW, EMPLog.DEBUG, 0, "额度申请附件下载zip包已经生成",null);
}else{
file123name="";
}
}
}
catch (Exception e)
{
e.printStackTrace();
EMPLog.log(EMPConstance.EMP_FLOW, EMPLog.ERROR, 0, "额度申请附件下载zip包生成失败"+ e.getMessage());
}
return file123name;
}
{
String file123= filepath + File.separator + "edfj" + flow + ".zip";
String file123name= "edfj" + flow + ".zip";
try
{
boolean flag=false;
for (int i = 0; i < listFileName.size(); i++)
{
Map map=(Map)listFileName.get(i);
File file = new File(filepath+"/"+map.get("cct_ali_filename").toString());
if(file.exists()){
flag=true;
}
}
if (listFileName.size() > 0)
{
if(flag){
File zipFileName = new File(file123);
InputStream input = null;
ZipOutputStream zipOut = null;
zipOut = new ZipOutputStream(new FileOutputStream(zipFileName));
for (int j = 0; j < listFileName.size(); j++)
{
Map map=(Map)listFileName.get(j);
File file = new File(filepath+"/"+map.get("cct_ali_filename").toString());
if(file.exists()){
EMPLog.log(EMPConstance.EMP_COMM, EMPLog.ERROR, 0,"读取文件名字:" +filepath+"/"+map.get("cct_ali_filename").toString());
input = new FileInputStream(file);
try {
zipOut.putNextEntry(new ZipEntry(file.getName()));
} catch (Exception e) {
continue;
}
int temp = 0;
while ((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
}
}
//把生成的excel文件压入ZIP包中
EMPLog.log(EMPConstance.EMP_COMM, EMPLog.ERROR, 0,"把生成的excel文件压入ZIP包中" +null);
File exfile = new File(filepath+"/"+exname);
if(exfile.exists()){
EMPLog.log(EMPConstance.EMP_COMM, EMPLog.ERROR, 0,"读取生成excel文件名字:" +filepath+"/"+exfile);
input = new FileInputStream(exfile);
zipOut.putNextEntry(new ZipEntry(exfile.getName()));
int temp = 0;
while ((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
EMPLog.log(EMPConstance.EMP_FLOW, EMPLog.DEBUG, 0, "删除excel文件",null);
exfile.delete();
}
zipOut.close();
EMPLog.log(EMPConstance.EMP_FLOW, EMPLog.DEBUG, 0, "额度申请附件下载zip包已经生成",null);
}else{
file123name="";
}
}
}
catch (Exception e)
{
e.printStackTrace();
EMPLog.log(EMPConstance.EMP_FLOW, EMPLog.ERROR, 0, "额度申请附件下载zip包生成失败"+ e.getMessage());
}
return file123name;
}
JDK-1.6=================解决中文名字乱码====================
两个jar commons-compress-1.9.jar commons-compress-1.9-javadoc.jar
package com.jn.test;ss
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.compress.archivers.ArchiveException;
import org.apache.commons.compress.archivers.ArchiveOutputStream;
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.junit.Test;
import com.common.util.SystemUtil;
import com.io.hw.file.util.FileUtils;
public class ZIPTest {
@Test
public void test_01() {
try {
FileOutputStream fou = new FileOutputStream("d:\\Temp\\a\\a\\b\\c.zip");
ArchiveOutputStream archOuts = new ArchiveStreamFactory()
.createArchiveOutputStream(ArchiveStreamFactory.ZIP, fou);
if(archOuts instanceof ZipArchiveOutputStream){
ZipArchiveOutputStream zipOut=(ZipArchiveOutputStream)archOuts;
String file="D:\\Temp\\a\\password_密码.xls";
ZipArchiveEntry zipEntry=new ZipArchiveEntry(new File(file),SystemUtil.getFileSimpleName(file));
zipOut.putArchiveEntry(zipEntry);
zipOut.write(FileUtils.readBytes4file(file));
zipOut.closeArchiveEntry();
zipOut.flush();
zipOut.finish();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ArchiveException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
(1)压缩多个文件:
@Test
public void test_02() {
try {
FileOutputStream fou = new FileOutputStream(
"d:\\Temp\\a\\a\\b\\c.zip");
ArchiveOutputStream archOuts = new ArchiveStreamFactory()
.createArchiveOutputStream(ArchiveStreamFactory.ZIP, fou);
if (archOuts instanceof ZipArchiveOutputStream) {
ZipArchiveOutputStream zipOut = (ZipArchiveOutputStream) archOuts;
String file01 = "D:\\Temp\\a\\password_密码.xls";
ZipArchiveEntry zipEntry = new ZipArchiveEntry(
new File(file01), SystemUtil.getFileSimpleName(file01));
zipOut.putArchiveEntry(zipEntry);
zipOut.write(FileUtils.readBytes4file(file01));
String file02 = "D:\\Temp\\a\\ccc.jar";
ZipArchiveEntry zipEntry2 = new ZipArchiveEntry(
new File(file01), SystemUtil.getFileSimpleName(file02));
zipOut.putArchiveEntry(zipEntry2);
zipOut.write(FileUtils.readBytes4file(file02));
zipOut.closeArchiveEntry();
zipOut.flush();
zipOut.finish();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ArchiveException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
相关推荐
PHPZip类,生成zip格式的压缩包,可以直接在服务器上生成压缩包,也可以生成压缩并下载,也可以直接在线解压以及获得压缩包的相应信息
本文实例讲述了PHP生成zip压缩包的常用方法。分享给大家供大家参考,具体如下: 压缩一个文件 我们将一个文件生成一个压缩包。 <?php $path = c:/wamp/www/log.txt; $filename = test.zip; $zip = new Zip...
压缩包制作也是很多项目中需要用到的功能。接下来通过本文给大家介绍基于C# 生成Zip压缩包代码,对c生成zip压缩包相关知识感兴趣的朋友一起学习吧
java 生成zip压缩文件 java 生成zip压缩文件
java做的project,可以生成带密码的压缩文件,可以用AS3加密解密
S1课程使用Java理解程序逻辑 第一章初识java教学演示案例/上机练习参考答案/课后作业参考答案 相关示例提供
NULL 博文链接:https://mengdejun.iteye.com/blog/818150
通过Python的集成函数对zip压缩包的密码进行破解,不过字典 文件得自己生成。
在Java中调用压缩库查看ZIP压缩包内容,Java zip压缩包查看程序,暂不能查看RAR格式的压缩文件,程序实现的功能类似WINrar打开压缩文件的功能,生成文件列表,不解压即可看到文件内容。
压缩文件方法 该方法需要引用zip4j的jar文件 单个文件、多个文件压缩 /** * 使用给定密码压缩指定文件或文件夹到指定位置. * * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者""....
jquery把图片文件打包成ZIP文件提供下载,不用再后台生成储存
7z for linux --------------- tar jxvf p7zip_9.20.1_src_all.tar.bz2 cd p7zip_9.20.1 make make install ...如果要生成zip压缩包,可以直接将目标压缩包名设为vps12.zip,则它会自动使用zip算法压缩。
生成excel并打包成zip文件,包含主要的生成类和如何打包的代码,主要是嵌套的关系
提供二维码生成 zip压缩包解压删除原始文件 以及poi 的导出数据
本压缩包是一个数据库生成软件,是本人的搜藏,用法和说明在压缩包中BuildSQL.chm文件有介绍。感兴趣的可以下载看看,个人觉得不错
C++利用Zlib库实现zip文件压缩及解压 支持递归压缩.可配合自动更新功能实现zip压缩包进得软件更新