@Test
public void testPackageContent() {
try {
FileOutputStream f =
new FileOutputStream(BASE_PATH + "/../" + packageName + ".zip");
CheckedOutputStream csum =
new CheckedOutputStream(f, new Adler32());//Adler32 is faster than CRC32
ZipOutputStream out =
new ZipOutputStream(new BufferedOutputStream(csum));
out.setComment("some comments");
File srcDir = new File(BASE_PATH);
zipFile(out, srcDir, "packageName");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* zip the given file
* @param out - ZipOutputStream
* @param srcDir - if it is a file then add this file into zip, if it is dir, then call zipFile cascade
* @param filePath - the filepath in zipfile
* @throws IOException
*/
private void zipFile(ZipOutputStream out, File srcDir, String filePath) throws IOException{
for(File file : srcDir.listFiles()){
if(file.isDirectory()){
zipFile(out, file, filePath+"/"+file.getName());
continue;
}
Logger.global.info("Writing file : "+file.getName());
FileInputStream in = new FileInputStream(file);
out.putNextEntry(new ZipEntry(filePath+"/"+file.getName()));
byte[] b = new byte[1024];
int off = 0;
while((in.read(b,off,1024)) != -1){
out.write(b);
}
in.close();
}
}
分享到:
相关推荐
zipEntry.setComment("压缩文件"); // 可以添加注释,同样需要指定字符集 zos.putNextEntry(zipEntry); try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { byte[] buffer...
在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对ZIP文件格式的理解。本文将深入探讨如何使用Java实现这一功能,同时也会提及`UnZip.java`和`UnZip2.java`这两个文件可能包含的实现...
Java操作Zip文件主要涉及到对文件和目录的压缩与解压缩,以及在必要时对压缩文件进行加密处理。这里我们重点讨论使用两个库:`zip4j`和`Apache Ant`来实现这些功能。 1. **zip4j库**:`zip4j-1.3.2.jar`是一个用...
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
使用java的zip压缩库 对文件和文件夹实现压缩
当需要向已存在的ZIP文件追加文件时,首先使用`ZipUtil`解压缩ZIP文件到一个临时目录,然后在该目录中添加新的文件,最后重新压缩整个目录并覆盖原有的ZIP文件。以下是大致的步骤: - 使用`ZipUtil`的`unzip`方法...
在Java编程语言中,处理ZIP压缩文件是一项常见的任务,它涉及到文件和目录的打包与解压。本篇文章将深入探讨如何使用Java实现ZIP文件的压缩和解压缩操作,以及涉及的相关知识点。 首先,理解ZIP文件格式是基础。ZIP...
* 使用给定密码解压指定的ZIP压缩文件到指定目录 * * 如果指定目录不存在,可以自动创建,不合法的路径将导致异常被抛出 * @param zipFile 指定的ZIP压缩文件 * @param dest 解压目录 * @param passwd ZIP文件...
在Java编程中,将多个文件压缩成一个ZIP文件并实现下载是一个常见的任务,尤其是在处理大量数据或文件分发时。...同时,为了提高性能和用户体验,可以考虑使用异步处理或多线程来压缩文件,特别是当处理大量大文件时。
//文件数据(待压缩文件) JButton jbAdd; //增加文件按钮 JButton jbDelete; //删除文件按钮 JButton jbZip; //压缩按钮 JTextField target; //目标文件文本域 public ZipDemo(){ super("用ZIP...
本文将深入探讨如何使用Java实现ZIP文件的压缩与解压,重点讲解核心API,如`java.util.zip`包中的`ZipOutputStream`和`ZipInputStream`。 首先,我们来了解一下ZIP文件格式。ZIP是一种用于存储多个文件到一个单一...
Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/ 可以下载到jar包、源码和示例,好像没有提供API文档。 不过需要使用代理访问...
本实践主要关注如何使用Java来处理ZIP格式的压缩文件,以下将详细介绍相关知识点。 1. **Java档案API(Java Archive API, JAR)** Java标准库提供了一个强大的API来处理各种类型的档案文件,包括ZIP格式。`java....
这个库简化了在Java中处理压缩文件的过程,提供了丰富的API供开发者使用。 首先,我们来看`FileUtils.java`中的主要方法。通常,这个类会包含两个核心功能:`zipFiles()`用于创建ZIP包,`unzipFile()`用于解压ZIP包...
Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...
下面我们将详细探讨如何使用Java来生成ZIP压缩文件,以及涉及的相关知识点。 首先,Java标准库提供了`java.util.zip`包,该包包含了处理压缩文件格式(如ZIP和GZ)所需的所有类。在创建ZIP文件时,我们主要会用到`...
本文主要介绍如何使用Java实现文件的ZIP压缩功能,并提供了完整的代码示例。通过学习本文,你可以掌握以下几个知识点: 1. 使用`java.util.zip`包中的类进行文件压缩。 2. 如何创建ZIP输出流并写入文件数据。 3. ...
### JAVA解压ZIP多层目录文件(需ant.jar) #### 概述 本文将详细介绍一个Java方法,该方法用于解压包含多层目录结构的ZIP文件,并能够支持中文文件名。这种方法利用了Apache Ant库中的`org.apache.tools.zip....
要压缩文件到ZIP,我们可以使用`org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream`类。以下是一个简单的示例: ```java import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; ...
总结来说,这段Java代码展示了如何使用`ZipInputStream`和`ZipOutputStream`来替换ZIP文件中的文件,而无需先解压再重新压缩。这种方法减少了磁盘空间的占用,提高了处理效率,特别适用于处理大文件或需要高效操作...