package hhf.mail; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; /** * 压缩文件、解压压缩文件 * @author HHF * 2014年12月30日 */ public class ZIP { /** * 功能:压缩多个文件成一个zip文件 * @param srcfile:源文件列表 * @param zipfile:压缩后的文件 */ public static void zipFiles(File[] srcfile, File zipfile) { byte[] buf = new byte[1024]; try { // ZipOutputStream类:完成文件或文件夹的压缩 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(); System.out.println("压缩完成."); } catch (Exception e) { e.printStackTrace(); } } /** * 功能:解压缩 * @param zipfile:需要解压缩的文件 * @param descDir:解压后的目标目录 * @throws IOException */ @SuppressWarnings("rawtypes") public static void unZipFiles(File zipfile, String descDir) { File file = new File(descDir); if (!file.exists()) { try { file.mkdir(); } catch (Exception e) { e.printStackTrace(); } } try { ZipFile zf = new ZipFile(zipfile); for (Enumeration entries = zf.entries(); entries.hasMoreElements();) { ZipEntry entry = (ZipEntry) entries.nextElement(); String zipEntryName = entry.getName(); InputStream in = zf.getInputStream(entry); OutputStream out = new FileOutputStream(descDir + zipEntryName); byte[] buf1 = new byte[1024]; int len; while ((len = in.read(buf1)) > 0) { out.write(buf1, 0, len); } in.close(); out.close(); System.out.println("解压缩完成."); } zf.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { // 需要解压缩的文件 File file = new File("D:\\test"); File filenew = new File("D:\\test.zip"); zipFiles(file.listFiles(), filenew); // 解压后的目标目录 String dir = "D:\\workspace\\"; unZipFiles(filenew, dir); } }
旨在大家需要的时候方便作为工具类使用
相关推荐
Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载
java压缩解压文件
- 首先,创建`File`对象分别代表原始的GZ压缩文件和解压后的目标文件。 - 使用`FileInputStream`打开GZ文件以读取数据,然后通过`GZIPInputStream`创建一个流,该流可以解压GZ格式的数据。 - 创建一个`...
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
### 实现Java文件压缩与解压 #### 一、引言 在计算机科学领域,文件压缩与解压是一项非常实用的技术。它不仅能够减少文件占用的空间,提高存储效率,还能加速文件在网络中的传输速度。Java作为一种广泛使用的编程...
在博客中提到的`SoftwareUp.java`文件可能是一个具体的实现,它结合了上述的FTP操作和文件压缩解压功能。如果你想要进一步了解这个文件的内容,需要查看实际的代码。 总结来说,Java中FTP文件上传和下载主要依赖于...
在压缩文件时,我们需要遍历目标文件或目录,获取所有子文件和子目录。这可以通过递归函数实现,使用`File`类的`listFiles()`方法来获取子文件和子目录的数组。 5. **创建ZipEntry**: 对于每个文件或子目录,...
总的来说,这个压缩包提供了一个完整的Java解决方案,用于压缩和解压文件。通过学习和理解`ZipFileList.java`的实现,开发者可以掌握在Java中处理ZIP文件的基本技巧,同时也可以了解如何集成第三方库如Ant来增强功能...
java压缩文件及解压的算法。方法使用见main函数
java 文件zip 压缩与解压 可以直接调用
本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...
在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对ZIP文件格式的理解。本文将深入探讨如何使用Java实现这一功能,同时也会提及`UnZip.java`和`UnZip2.java`这两个文件可能包含的实现...
在Java编程环境中,处理文件压缩和解压任务是常见的需求,尤其在数据传输或存储时。ZIP文件格式因其广泛支持和高效性而被广泛应用。本文将深入探讨如何使用Java实现ZIP文件的压缩与解压,重点讲解核心API,如`java....
用Java压缩解压ZIP文件,将利用java.util.zip 包中提供的类来实现压缩和解压zip 格式文件的功能。当然,本例在功能上完全没有Winzip 等成熟的压缩软件那么强,也不能做的很强,本例仅仅是演示如何来使用java.util....
Apache的java压缩(解压)文件jar包; jar包的名字有些别扭叫ant.jar
Java操作Zip文件主要涉及到对文件和目录的压缩与解压缩,以及在必要时对压缩文件进行加密处理。这里我们重点讨论使用两个库:`zip4j`和`Apache Ant`来实现这些功能。 1. **zip4j库**:`zip4j-1.3.2.jar`是一个用...
在Java编程环境中,处理压缩和解压缩文件是一项常见的任务,特别是在数据存储、文件传输和备份等领域。本项目专注于使用Java实现带密码保护的ZIP文件的压缩和解压功能。这是一项安全措施,允许用户对敏感文件进行...
这篇博客文章《Java压缩解压文件》可能会详细讲解如何使用Java API来处理ZIP文件格式。 在Java中,我们可以利用内置的`java.util.zip`包来处理压缩和解压操作。`ZipOutputStream`和`ZipInputStream`是这个包中的...
在Java编程语言中,压缩和解压文件是常见的文件操作任务,这在处理大量数据或者进行文件传输时尤其有用。本实例"JAVA100例之实例40 压缩和解压文件"将深入讲解如何使用Java来实现这个功能。我们将探讨使用Java的内置...