import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public class ZipFile{
/**
* 把files集合内的所有文件压缩成包test.zip
* @param files
* @throws IOException
*/
public void zipFiles(List<File> files) throws IOException{
File tmp_File = new File("d:/zip/test.zip");
if(!tmp_File.exists())
tmp_File.createNewFile();
FileInputStream fileStream=null;//输入文件的流
ByteArrayOutputStream out=null;//把输入流转换成输出流
FileOutputStream f_OutputStream = new FileOutputStream(tmp_File);
//构造zip输出流,用来生成zip文件
ZipOutputStream zipOutputStream = new ZipOutputStream(f_OutputStream);
try{
//循环即将被压缩的文件
for(File file:files){
//转换输入流转换成输出流
out=new ByteArrayOutputStream();
fileStream=new FileInputStream(file);
byte[] b=new byte[1024];
while(fileStream.read(b)!=-1){
out.write(b); //输入流转换到输出流中了
}
//构造zip中某个文件
zipOutputStream.putNextEntry(new ZipEntry(file.getName()));
//把输出流写到zip中,生成实际文件
zipOutputStream.write(out.toByteArray());
//清空缓冲
zipOutputStream.flush();
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(fileStream!=null) fileStream.close();
if(out!=null) out.close();
if(zipOutputStream!=null) zipOutputStream.close();
}
}
}
分享到:
相关推荐
在IT行业中,生成压缩包是一种常见...总之,生成压缩包是IT领域中一项基础且实用的技术,它涵盖了数据压缩理论、文件打包方法以及各种压缩格式的特性。理解和熟练运用这些知识,对于日常的文件管理和系统维护至关重要。
在Java编程语言中,生成ZIP压缩文件是一项常见的任务,它涉及到文件操作和数据流的处理。这个过程可以用于归档多个文件或者整个目录结构,便于存储或传输。下面我们将详细探讨如何使用Java来生成ZIP压缩文件,以及...
压缩文件方法 该方法需要引用zip4j的jar文件 单个文件、多个文件压缩 /** * 使用给定密码压缩指定文件或文件夹到指定位置. * * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者""....
在本项目“layui实现文件压缩上传”中,我们重点关注的是如何利用layui的上传组件结合JavaScript技术来处理大图片的压缩,以优化文件上传性能和降低服务器存储负担。以下是对这个知识点的详细阐述: 1. **layui上传...
通过以上步骤,我们成功地实现了一个简单的Spring Boot服务,该服务能够在接收到特定请求时将多份文件打包成ZIP压缩文件并提供给用户一次性下载。这种方式不仅极大地提升了用户体验,还简化了服务器端的处理逻辑。...
在Java编程环境中,处理文件的压缩与解压缩是常见的任务,而涉及到安全性,加密和解密就显得尤为重要。本文将详细讲解如何使用Java实现ZIP压缩包的加密与解密。 首先,我们需要理解加密的基本概念。加密是将明文...
在IT行业中,MFC(Microsoft Foundation Classes)是一个C++...通过`unzip.cpp`、`zip.cpp`、`unzip.h`和`zip.h`这四个文件,我们可以学习到如何将这些技术整合到MFC应用程序中,为用户提供便捷的文件压缩和解压功能。
解压缩过程相对简单,使用`minizip`的`unzip`函数可以打开`zip`文件,再通过`unzipOpenCurrentFile`、`unzipReadCurrentFile`和`unzipCloseCurrentFile`等函数读取并解压缩每个文件,然后写入到目标位置。...
在IT行业中,文件压缩和数据加密是两个非常重要的领域,它们在数据传输、存储和安全保护方面发挥着关键作用。本篇文章将详细讲解如何使用ZIP压缩以及BASE64编码技术来处理文件,并介绍相关的工具类。 首先,让我们...
在前端开发中,有时我们需要处理文件的压缩与解压缩操作,比如用户上传的压缩文件或者需要下载的压缩文件。在这种情况下,JavaScript库如jsZip就显得尤为重要。jsZip是一个强大的库,它允许开发者在浏览器环境中进行...
### Java调用WinRAR生成压缩文件路径有空格问题解决方案 在进行文件处理时,我们经常需要对文件进行压缩操作以便于传输或者节省存储空间。Java作为一种常用的开发语言,在进行此类操作时通常会通过调用外部命令的...
另外,提到的“gz压缩包”是指使用gzip压缩算法对生成的文件进行压缩。gzip是一种广泛使用的压缩格式,能有效减小文件体积,节省存储空间,尤其对于大文件来说,压缩后可以更快速地传输。gut工具允许用户配置是否对...
为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...
"exe文件生成工具"的描述中提到其操作简单、功能齐全,这意味着它可能具备以下特性: 1. **易用性**:工具界面直观,操作流程清晰,即使是对编程不熟悉的用户也能快速上手。 2. **全面功能**:除了基本的打包功能外...
这个m的意思是把文件asdf.tr移动入压缩文件asdf.tr.rar中 6,创建自解压文件: winrar s asdf.tr.rar 在gui界面中,创建自解压文件是有个选项可以直接选择的。而在命令行中,是分为两个步 骤的,第一步是用压缩...
3. **添加文件**:`zip_utils`库通常提供一个函数,如`add_file_to_zip`,用于将单个文件添加到压缩包中。你需要指定待压缩文件的完整路径、目标压缩包的路径以及可能的其他参数,如压缩级别。 4. **添加目录**:...
在提供的压缩包中,FileToCHM.exe很可能是用于生成CHM文件的程序。这是一个可执行文件,用户只需运行并按照向导步骤操作,就能完成CHM文件的制作。Readme-说明.htm可能包含了关于如何使用该软件的详细指南,包括安装...
在Java编程语言中,压缩文件或文件目录是一项常见的任务,主要使用了Java的`java.util.zip`包中的类。这个包提供了对ZIP和GZIP格式的支持。本文将深入讲解如何利用Java来直接压缩文件或文件目录,以及如何进行相关的...
在这个例子中,`WinRAR a` 表示添加文件到新的压缩文件,`-afzip` 指定生成ZIP格式的压缩文件,`-inul` 是静默模式,避免弹出用户界面,最后是需要压缩的文件路径。 解压缩过程相对简单,可以使用类似的命令,如下...
在Java编程中,有时我们需要从网络上下载多个文件并将其打包为一个压缩文件,例如ZIP格式,以便于存储或分发。这个过程涉及到文件I/O操作、网络请求以及压缩算法的使用。以下是对这个场景的详细说明: 1. **网络...