当前位置:  编程技术>java/j2ee

java压缩多个文件并且返回流示例

    来源: 互联网  发布时间:2014-11-04

    本文导语:  这个类可以压缩多个文件并且返回流,在程序中可以再操作返回的流做其它功能,比如验证MD5,下面看代码吧 代码如下:/*** 方法描述:测试类*/public class TestFileStream{ //文件和压缩包存储的位置StringtempFilePath="C:/temp/"ListfileList=ne...

这个类可以压缩多个文件并且返回流,在程序中可以再操作返回的流做其它功能,比如验证MD5,下面看代码吧

代码如下:

/**
* 方法描述:测试类

*/
public class TestFileStream{
 //文件和压缩包存储的位置
StringtempFilePath="C:/temp/"
ListfileList=newArrayList();
fileList.add(tempFilePath+"file1.txt");
fileList.add(tempFilePath+"file2.png");
fileList.add(tempFilePath+"file3.xls");
//生成的压缩包名称
StringzipName="fileData";
//返回流
ByteArrayOutputStreamoutputStream=fileToZip(fileList,fileData,tempFilePath);
//页面输入压缩包流
byte[]buffer=outputStream.toByteArray();
//清空response
response.reset();
//设置response的Header
response.addHeader("Content-Disposition",
"attachment;filename="+
newString(("dataFile.zip").getBytes("gb2312"),"ISO8859-1"));
response.addHeader("Content-Length",""+outputStream.size());
toClient=newBufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
}

/**
*方法描述:将多个文件压缩成zip包

*/
publicByteArrayOutputStreamfileToZip(ListfileList,StringzipName,StringtempFilePath){
byte[]buffer=newbyte[1024];
ZipOutputStreamout=null;
try{
out=newZipOutputStream(newFileOutputStream(tempFilePath+zipName+".zip"));
Listfiledata=newArrayList();
for(inti=0,len=fileList.size();i


    
 
 

您可能感兴趣的文章:

  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
  • java Servlet实现Session创建存取以及url重写代码示例
  • java 四舍五入使java保留2位小数示例讲解
  • java进行error捕获和处理示例(java异常捕获)
  • java去除集合中重复元素示例分享 java去除重复
  • java读取csv文件示例分享(java解析csv文件)
  • java求三个数的最大值的示例分享
  • java生成字母数字组合的随机数示例 java生成随机数
  • java实现网页解析示例
  • java协变返回类型使用示例
  • 使用java执行定时任务示例
  • java自定义枚举转换器示例
  • java向文件末尾添加内容示例分享
  • java正则表达式获取url的host示例
  • java使用正则表达校验手机号码示例(手机号码正则)
  • java实现jframe透明窗体示例
  • java的split方法使用示例
  • java抓取网页数据示例
  • Oracle 使用Java Source 简单示例
  • java自定义日期转化类示例
  • 请教如何在Java中使用arj压缩的文件(压缩和解压缩)Linux下面
  • Java压缩工具 BiGZiP
  • Java实现的压缩包 jazzlib
  • Java 声音压缩库 JSpeex
  • java下怎么把BufferedImage转成jpg,关键是如何设置jpg的压缩比。
  • Java压缩处理类库 ZeroTurnaround
  • 请问有没有LZSS加解压缩JAVA算法
  • java 有用于图像压缩的包吗?
  • Java中如何调用cmd压缩文件
  • 我想在用Java对若干文件打包,象Linux中的tar文件,不用压缩!!怎么做?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问JAVA如何定义常量实行多个JAVA程序共用?
  • 我用java编了一个程序,是多个java文件,属于一个包,需要联编,但我不会
  • 求解!Java如何能在多个applet之间实现类似asp的session类!
  • 高分请教: 如何用Java调用带多个参数的EXE文件?
  • 请大家讨论,来者有分,java中多个线程之间共享数据的方法都有哪些?
  • 如何在JAVA方法中返回多个对象,谁能解决给200分。
  • 在java里是怎么实现一个方法返回多个参数的?
  • 请问启动的多个java虚拟机如何共享一个连接池?
  • java中多点传送(同一个事件可同时传送给多个监听器对象corejava1例8.6)采用哪种设计模式谢谢
  • 在Java中调用一个方法如何得到多个返回值?
  • java执行操作系统命令的问题:如何判断多个操作系统?
  • 紧急问题:我启动一个java程序之后用ps一看,为和显示我启动了多个程序?然后我kill-9第一个pid之后,又全部没了
  • java通过复选框控件数组实现添加多个复选框控件示例分享
  • linux下tomcat启动后出现多个java进程
  • Java邮件发送程序(可以同时发给多个地址、可以带附件)
  • java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)
  • 多个java泛型示例分享
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3