`
java--hhf
  • 浏览: 308694 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java压缩和解压文件

阅读更多
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);
	}
}

    旨在大家需要的时候方便作为工具类使用

0
0
分享到:
评论

相关推荐

    Java压缩及解压tar、tar.z格式文件

    Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载

    java压缩解压文件

    java压缩解压文件

    java 解压,压缩linux GZ压缩文件

    - 首先,创建`File`对象分别代表原始的GZ压缩文件和解压后的目标文件。 - 使用`FileInputStream`打开GZ文件以读取数据,然后通过`GZIPInputStream`创建一个流,该流可以解压GZ格式的数据。 - 创建一个`...

    java 中 zip压缩文件解压工具类

    本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...

    实现java文件压缩与解压

    ### 实现Java文件压缩与解压 #### 一、引言 在计算机科学领域,文件压缩与解压是一项非常实用的技术。它不仅能够减少文件占用的空间,提高存储效率,还能加速文件在网络中的传输速度。Java作为一种广泛使用的编程...

    java ftp上传 下载 文件压缩解压

    在博客中提到的`SoftwareUp.java`文件可能是一个具体的实现,它结合了上述的FTP操作和文件压缩解压功能。如果你想要进一步了解这个文件的内容,需要查看实际的代码。 总结来说,Java中FTP文件上传和下载主要依赖于...

    JAVA压缩与解压文件(包括子目录)

    在压缩文件时,我们需要遍历目标文件或目录,获取所有子文件和子目录。这可以通过递归函数实现,使用`File`类的`listFiles()`方法来获取子文件和子目录的数组。 5. **创建ZipEntry**: 对于每个文件或子目录,...

    java操作压缩文件和解压文件实例代码(经测试)

    总的来说,这个压缩包提供了一个完整的Java解决方案,用于压缩和解压文件。通过学习和理解`ZipFileList.java`的实现,开发者可以掌握在Java中处理ZIP文件的基本技巧,同时也可以了解如何集成第三方库如Ant来增强功能...

    java压缩文件和解压文件

    java压缩文件及解压的算法。方法使用见main函数

    java 文件zip 压缩与解压

    java 文件zip 压缩与解压 可以直接调用

    java 压缩/解压 .zip/.rar/.tar 文件

    本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...

    java解压zip压缩文件

    在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对ZIP文件格式的理解。本文将深入探讨如何使用Java实现这一功能,同时也会提及`UnZip.java`和`UnZip2.java`这两个文件可能包含的实现...

    使用 Java 实现的压缩/解压 ZIP 文件的工具类

    在Java编程环境中,处理文件压缩和解压任务是常见的需求,尤其在数据传输或存储时。ZIP文件格式因其广泛支持和高效性而被广泛应用。本文将深入探讨如何使用Java实现ZIP文件的压缩与解压,重点讲解核心API,如`java....

    用Java压缩解压ZIP文件

    用Java压缩解压ZIP文件,将利用java.util.zip 包中提供的类来实现压缩和解压zip 格式文件的功能。当然,本例在功能上完全没有Winzip 等成熟的压缩软件那么强,也不能做的很强,本例仅仅是演示如何来使用java.util....

    java压缩(解压)文件jar包

    Apache的java压缩(解压)文件jar包; jar包的名字有些别扭叫ant.jar

    java 操作Zip文件(压缩、解压、加密).zip

    Java操作Zip文件主要涉及到对文件和目录的压缩与解压缩,以及在必要时对压缩文件进行加密处理。这里我们重点讨论使用两个库:`zip4j`和`Apache Ant`来实现这些功能。 1. **zip4j库**:`zip4j-1.3.2.jar`是一个用...

    Java实现的带密码压缩与解压zip文件源码

    在Java编程环境中,处理压缩和解压缩文件是一项常见的任务,特别是在数据存储、文件传输和备份等领域。本项目专注于使用Java实现带密码保护的ZIP文件的压缩和解压功能。这是一项安全措施,允许用户对敏感文件进行...

    Java压缩解压文件

    这篇博客文章《Java压缩解压文件》可能会详细讲解如何使用Java API来处理ZIP文件格式。 在Java中,我们可以利用内置的`java.util.zip`包来处理压缩和解压操作。`ZipOutputStream`和`ZipInputStream`是这个包中的...

    JAVA100例之实例40 压缩和解压文件

    在Java编程语言中,压缩和解压文件是常见的文件操作任务,这在处理大量数据或者进行文件传输时尤其有用。本实例"JAVA100例之实例40 压缩和解压文件"将深入讲解如何使用Java来实现这个功能。我们将探讨使用Java的内置...

Global site tag (gtag.js) - Google Analytics