`
tangkuo
  • 浏览: 103269 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

ZIPFILE

 
阅读更多
/**
* 下载-将多个文件压缩成zip
*
* @author penz
* @param srcfile 文件列表File
* @param zipfile 文件名的File
*/
public static void zipFiles(java.io.File[] srcfile, java.io.File zipfile) {
byte[] buf = new byte[1024];
try {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile));
for (int i = 0; i < srcfile.length; i++) {
FileInputStream in = new FileInputStream(srcfile[i]);
out.putNextEntry(new ZipEntry(srcfile[i].getName()));
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.closeEntry();
in.close();
}
out.close();
} catch (Exception e) {
log.error("ExportController.zipFiles 异常: {}", e);
e.printStackTrace();
}
}


package com.kame.micropay.order.service.utils;

import java.util.ArrayList;
import java.util.List;

/**
* 说明: List相关工具类
*
* @author penz @date 2013-10-18
*/
public class ListUtil {

/**
* 将list分成多个List
*
* @author penz
* @param list 集合对象
* @param pageSize 每个集合大小数
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
int listSize = list.size();
int page = (listSize + (pageSize - 1)) / pageSize;
List<List<T>> listArray = new ArrayList<List<T>>();
for (int i = 0; i < page; i++) {
List<T> subList = new ArrayList<T>();
for (int j = 0; j < listSize; j++) {
int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
if (pageIndex == (i + 1)) {
subList.add(list.get(j));
}
if ((j + 1) == ((i + 1) * pageSize)) {
break;
}
}
listArray.add(subList);
}
return listArray;
}
}


/**
     * 输出报表
     * @param response
     * @param data
     */
    public static void reportExp(HttpServletResponse response, String templateUrl, Map<String, Object> data) {
        OutputStream fOut = null;
        InputStream fin = null;
        try {
            URL url = new URL(templateUrl);
            URLConnection connection = url.openConnection();
            fin = connection.getInputStream();
            fOut = response.getOutputStream();
           
            XLSTransformer transformer = new XLSTransformer();
            Workbook workbook = transformer.transformXLS(fin, data);
            workbook.write(fOut);
        } catch (Exception e) {
            log.error("报表导出异常", e);
        } finally {
            try {
                if (fOut != null) {
                    fOut.flush();
                    fOut.close();
                }
                if (fin != null) {
                    fin.close();
                }
            } catch (IOException ie) {
                log.error("报表导出异常", ie);
            }
        }
    }
   
    /**
* 下载
*
* @author penz
* @param bais ByteArrayInputStream对象
* @param fileName 文件名
* @param response HttpServletResponse对象
*/
public static void download(InputStream bais, String fileName, HttpServletResponse response) {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
response.setCharacterEncoding("UTF-8");
OutputStream out = response.getOutputStream();
response.setContentType("application/x-download");
response.addHeader("Content-disposition", "attachment;filename="
+ new String(fileName.getBytes(), "ISO-8859-1"));
response.setHeader("Content-disposition", "attachment;filename="
+ new String(fileName.getBytes(), "ISO-8859-1"));
bis = new BufferedInputStream(bais);
bos = new BufferedOutputStream(out);
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
} catch (Exception e) {
log.error("ExportController.download 异常: {}", e);
} finally {
try {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
分享到:
评论

相关推荐

    Python库 | zipfile2-0.0.10-py2.py3-none-any.whl

    Python库`zipfile2-0.0.10-py2.py3-none-any.whl`是一个专门为Python开发的模块,用于处理和操作ZIP文件格式。这个库是Python 2和Python 3兼容的,这意味着无论你使用的是哪个版本的Python,你都可以无缝地安装和...

    ZipFile压缩解压类库 ASP.NET 压缩解压实现

    `ZipFile`类库是.NET Framework提供的一种强大的工具,专门用于处理ZIP格式的压缩文件。本篇文章将深入探讨如何使用`ZipFile`库来实现目录的压缩和解压缩功能,以及如何支持二级解压。 首先,`ZipFile`类位于`...

    zipfile.dll或者myzip.dll的下载解压缩dll

    SrcFile,ZipFile:pchar&#41;:integer;stdcall; 功能 : 将文件SrcFile添加到压缩文档ZipFile 参数 : SrcFile 待压缩文件(全路径) Zipfile 目标文件(全路径) 返回 : 失败 &gt;0 成功 说明 : 同名文件将自动...

    python支持使用自定义编码的zipfile模块

    将该文件改名后(myzipfile.py)和程序放在一起,导入时可以使用as改名来兼容旧代码(import myzipfile as zipfile) 二:替换原版zipfile模块(不推荐,程序可能会无法移植) 放在python路径下的Lib文件夹里 由于...

    Python库 | zipfile39-0.0.4.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:zipfile39-0.0.4.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    包含Apache包中的ZipFile相关类的jar包

    Apache Commons Compress库提供了强大的工具,其中就包括`ZipFile`类,它在处理ZIP文件时能有效地解决中文字符编码问题,确保文件解压后中文内容的正确显示。这个`ZipFile`类在`ant.jar`包中,它是Apache Ant项目的...

    net.lingala.zip4j.core.ZipFile_1.3.2.jar

    net.lingala.zip4j.core.ZipFile_1.3.2.jar 解压缩zip,带解压进度

    Python库 | zipfile-deflate64-0.2.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:zipfile-deflate64-0.2.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    PyPI 官网下载 | zipfile2-0.0.10-py2.py3-none-any.whl

    资源来自pypi官网。 资源全名:zipfile2-0.0.10-py2.py3-none-any.whl

    ZipFile.dll 压缩解压第三方类库

    ZipFile.dll 压缩解压第三方类库

    可以运行在.Net3.5版本的ZipFile

    这是完整的将.net4.5中ZipFile功能摘出来,通过修改命名空间后可以完美应用于.net3.5/4.0上(3.0就不再做了,牵扯的太多)。 因为早期版本缺失解压缩功能(Package不支持中文),作为一个C#爱好者,仅仅是为了弥补这...

    从Framework4.5里摘出来的ZipFile功能(需要Framerowk4.0)

    这是从.net4.5里摘出来的ZipFile功能,可以应用到.net4.0的平台上,用法和4.5里一样。 以后会考虑将.net的版本降至3.5甚至2.0,这需要看里面都用到了什么功能(保守估计3.5应该没问题)

    sample (2)_zipfile_源码

    标题中的"sample (2)_zipfile_源码"暗示了我们将讨论的是与处理ZIP文件相关的编程源代码。ZIP文件是一种常见的文件压缩格式,用于存储多个文件和目录在单个档案中,广泛应用于软件分发、数据备份等领域。Python的`...

    python zipfile模块1

    Python的`zipfile`模块是处理ZIP档案文件的核心工具,它提供了创建、读取、写入和提取ZIP文件的能力。ZIP是一种常见的文件压缩格式,广泛用于数据归档和分发。下面将详细讲解`zipfile`模块的一些关键功能和用法。 1...

    Python基础之shutil及zipfile模块.pdf

    Python编程语言中,shutil和zipfile是两个非常实用的内置模块,它们分别用于高级文件操作和处理zip压缩文件。本文将详细介绍这两个模块的主要功能和简单应用。 shutil模块是Python标准库的一部分,它扩展了os模块的...

    net.lingala.zip4j.core.ZipFile_1.3.2.jar 解压缩zip,带解压进度

    zip4j默认采用UTF-8编码,所以它支持中文,同时也支持密码,而且支持多种压缩算法,可以说功能强大,但使用起来却非常简单,当然,如果需求比较复杂,那就得好好去研究了。如果你仅仅是简单地解压一个zip压缩文件,...

    camel-zipfile-2.17.3.zip

    《camel-zipfile-2.17.3.zip与aiw-i2b2-etl开源项目解析》 在IT行业中,开源项目扮演着至关重要的角色,它们为开发者提供了丰富的资源和工具,推动了技术创新和协作。本文将深入探讨标题中的"camel-zipfile-2.17.3....

    DAVE-3-1-10_ZipFile-2014-05-23.zip

    《DAVE-3-1-10_ZipFile-2014-05-23.zip:英飞凌嵌入式电机开发的历史回顾与技术探析》 在电子技术领域,英飞凌科技(Infineon Technologies)一直以其卓越的半导体解决方案闻名,尤其在嵌入式系统和电机控制方面...

    ZipFile.php(PHP压缩类,打包下载)

    PHPZip类,生成zip格式的压缩包,生成压缩并下载,简单的zip压缩类

    Python模块zipfile原理及使用方法详解

    Python的`zipfile`模块是处理ZIP压缩文件的核心工具,提供了对ZIP文件的读、写和提取功能。本文将深入探讨`zipfile`模块的工作原理和常见使用方法,以帮助开发者更好地理解和应用这一功能。 首先,`zipfile`模块...

Global site tag (gtag.js) - Google Analytics