java 多文件打包压缩

public static void main(String[] args) {
        File[] srcFiles = { new File("E:\\testZip\\testZip.zip"), new File("E:\\testZip\\test2.json"), new File("E:\\testZip\\test3.txt") };
        File zipFile = new File("E:\\ZipFile.zip");
        // 调用压缩方法
        zipFiles(srcFiles, zipFile);
    }
    public static void zipFiles(File[] srcFiles, File zipFile) {
        // 判断压缩后的文件存在不,不存在则创建
        if (!zipFile.exists()) {
            try {
                zipFile.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        // 创建 FileOutputStream 对象
        FileOutputStream fileOutputStream = null;
        // 创建 ZipOutputStream
        ZipOutputStream zipOutputStream = null;
        // 创建 FileInputStream 对象
        FileInputStream fileInputStream = null;

        try {
            // 实例化 FileOutputStream 对象
            fileOutputStream = new FileOutputStream(zipFile);
            // 实例化 ZipOutputStream 对象
            zipOutputStream = new ZipOutputStream(fileOutputStream);
            // 创建 ZipEntry 对象
            ZipEntry zipEntry = null;
            // 遍历源文件数组
            for (int i = 0; i < srcFiles.length; i++) {
                // 将源文件数组中的当前文件读入 FileInputStream 流中
                fileInputStream = new FileInputStream(srcFiles[i]);
                // 实例化 ZipEntry 对象,源文件数组中的当前文件
                zipEntry = new ZipEntry(srcFiles[i].getName());
                zipOutputStream.putNextEntry(zipEntry);
                // 该变量记录每次真正读的字节个数
                int len;
                // 定义每次读取的字节数组
                byte[] buffer = new byte[1024];
                while ((len = fileInputStream.read(buffer)) > 0) {
                    zipOutputStream.write(buffer, 0, len);
                }
            }
            zipOutputStream.closeEntry();
            zipOutputStream.close();
            fileInputStream.close();
            fileOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

原文地址:https://www.cnblogs.com/wcnwcn/p/11800361.html

时间: 2024-10-09 03:59:50

java 多文件打包压缩的相关文章

Java—将文件打包为zip压缩文件

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipE

Linux文件打包压缩、解压缩、备份命令使用方法(转载)

对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可是Linux就不同了,它有.gz..tar.gz.tgz.bz2..Z..tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了.本文就来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕ic

脚本基础,文件查找,文件打包压缩。

本周知识点: ''' 1.文本处理工具和正则表达式 抽取文本的工具: 文件内容:cat,用于查看文件内容的基本命令,-E显示行结束符$ -n 显示行号 -A显示所有控制符-b 非空行编号 -s 压缩连续的空行成一行.hexdump :可以查看文件的ASCII值more :分页查看文件 -d 显示翻页及退出提示less : 一页一页地查看文件. /文本 搜索文本 n/N 跳到下一个或上一个匹配 显示文本前或后行内容 head : -c# 指定获取前#字节 -n# 指定获取前#行 (n可以省略)ta

文件打包压缩

一.文件的压缩 压缩文件体积小,在网速相同的情况下,传输时间短.下面将学习如何在Linux系统中对文件进行打包压缩与解压,以及让用户基于关键词在文本文件中搜索相匹配的信息.在整个文件系统中基于指定的名称或属性搜索特定文件 常见的压缩文件后缀名及其含义: 文件后缀 含义 .gz gzip压缩工具压缩的文件 .bz2 bzip压缩工具压缩的文件 .tar tar打包的文件 .tar.gz 先由tar打包,再由gzip压缩 .tar.bz2 先由tar打包,再由bzip2压缩 .tar.xz 先由ta

文件打包压缩——tar

tar——压缩数据/解压数据内容 命令语法: tar zcvf  生成压缩包路径/压缩包.tar.gz    压缩数据01,02,03.... 巧记: 压缩名称为tar.gz,可以理解为tar命令,gz取压缩类型gizp的前2个辅音字母 参数说明:        z --- 数据压缩方式 gzip (--gzip, --gunzip, --ungzip   filter the archive through gzip)       c --- 创建一个压缩文件(create          

Java批量文件打包下载

经常遇到选择多个文件进行批量下载的情况,可以先将选择的所有的文件生成一个zip文件,然后再下载,该zip文件,即可实现批量下载,但是在打包过程中,常常也会出现下载过来的zip文件中里面有乱码的文件名,通过使用ant.jar中的org.apache.tools.zip里的ZipOutPutStream为实现编码的设置. 代码如下: ant包引用 [html] view plain copy print? <span style="font-size:14px">Xml代码 &

java原生文件打包

一.背景 前端时间,自己做的项目需要打包功能,不想再引外部的jar包 便用java.util.zip做了下该功能 二.适用场景 生成多个word.excel.xml等文件,并要求打包下载的情形 例:项目信息的多选导出word 三.实现 实现分为三个部分,分别是 1.将字符串保存为文件,都是最基本的IO操作 /** * @Description 将字符串保存为文件 * @author liuy-8 * @date 2015年5月20日 下午1:48:18 * @param filePath * @

java jar文件打包成exe(Launch4j使用说明)

在日常的项目中需要把jar打包成exe.怎样快速的实现此功能.下面通过Launch4j的使用方法来介绍整个打包过程. 第一步:生成jar文件 第二部:使用Launch4j 图来描述过,简单明了.一切尽在不言中.

为 Mac Finder 增加右键文件打包压缩(免费)

在 Windows 上用惯了 7-Zip 和 WinRAR,来到 Mac 却突然发现没有类似的工具?Mac 自带的 Zip 工具确实让人吐糟无力,压缩率低就不说了,因为 Mac 上文件名是 Unicode 编码,到了 GBK 编码的 Windows 上解压了文件名全是乱码有没有?Mac 上的隐藏文件(.DS_Store,.Spotlight-V100之类)每次都得删很麻烦有没有? 总之,用起来很憋屈.尽管有用起来不憋屈的压缩软件可以用(比如 Entropy),但是其 ¥123 的价格有点坑爹,而