`
sunxiang0918
  • 浏览: 46895 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JAVA 操作ZIP文件

    博客分类:
  • J2SE
阅读更多

JAVA 压缩 ZIP 文档

import java.io.BufferedInputStream; 
import java.io.BufferedOutputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.util.zip.ZipEntry; 
import java.util.zip.ZipOutputStream; 

public class Zip {
	static final int BUFFER = 2048; 

	public static void main(String argv[]) {
		try {
			BufferedInputStream origin = null; 
			FileOutputStream dest = new FileOutputStream("E:\\test\\myfiles.zip"); 
			ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); 
			byte data[] = new byte[BUFFER]; 
			File f = new File("e:\\test\\a\\"); 
			File files[] = f.listFiles(); 
			for (int i = 0; i < files.length; i++) {
				FileInputStream fi = new FileInputStream(files[i]); 
				origin = new BufferedInputStream(fi, BUFFER); 
				ZipEntry entry = new ZipEntry(files[i].getName()); 
				out.putNextEntry(entry); 
				int count; 
				while ((count = origin.read(data, 0, BUFFER)) != -1) {
					out.write(data, 0, count); 
				}
				origin.close(); 
			}
			out.close(); 
		} catch (Exception e) {
			e.printStackTrace(); 
		}
	}
}

 

JAVA 解压 ZIP 文档

 

import java.io.BufferedInputStream; 
import java.io.BufferedOutputStream; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.util.Enumeration; 
import java.util.zip.ZipEntry; 
import java.util.zip.ZipFile; 

public class UnZip {
	static final int BUFFER = 2048; 

	public static void main(String argv[]) {
		try {
			String fileName = "E:\\test\\myfiles.zip"; 
			String filePath = "E:\\test\\"; 
			ZipFile zipFile = new ZipFile(fileName); 
			Enumeration emu = zipFile.entries(); 
			int i=0; 
			while(emu.hasMoreElements()){
				ZipEntry entry = (ZipEntry)emu.nextElement(); 
				//会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。
				if (entry.isDirectory()){
					new File(filePath + entry.getName()).mkdirs(); 
					continue; 
				}
				BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry)); 
				File file = new File(filePath + entry.getName()); 
				//加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件
				//而这个文件所在的目录还没有出现过,所以要建出目录来。
				File parent = file.getParentFile(); 
				if(parent != null && (!parent.exists())){
					parent.mkdirs(); 
				}
				FileOutputStream fos = new FileOutputStream(file); 
				BufferedOutputStream bos = new BufferedOutputStream(fos,BUFFER); 
				int count; 
				byte data[] = new byte[BUFFER]; 
				while ((count = bis.read(data, 0, BUFFER)) != -1){
					bos.write(data, 0, count); 
				}
				bos.flush(); 
				bos.close(); 
				bis.close(); 
			}
			zipFile.close(); 
		} catch (Exception e) {
			e.printStackTrace(); 
		}
	}
} 
 

 

 

分享到:
评论

相关推荐

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

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

    java操作zip_包括加解密码

    Java操作ZIP文件,特别是涉及到加解密码的环节,是一项常见的任务。在Java中,我们可以使用标准的`java.util.zip`库来处理基本的ZIP文件操作,但若涉及到加密和解密,就需要借助第三方库,例如`Zip4j`。本文将深入...

    Java操作ZIP文件,支持密码和中文

    winszipaes是Java语言下的ZIP文件操作接口,支持密码,但源代码不支持中文,该jar包对源码作了一点修改,使其支持中文,修改信息可以参照我的博客http://blog.csdn.net/zhangyihui1986/article/details/7724229或者...

    详解Java无需解压直接读取Zip文件和文件内容

    Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...

    zip4j--Java操作zip压缩文件接口

    Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/ 可以下载到jar包、源码和示例,好像没有提供API文档。 不过需要使用代理访问...

    基于Java向zip压缩包追加文件

    在Java编程中,向现有的ZIP压缩包追加文件通常需要经过解压、修改、再压缩的步骤,因为标准的Java ZIP库(如`java.util.zip`包)并不直接支持追加到已存在的ZIP文件。本篇文章将深入探讨如何实现这个功能,主要关注...

    java读取zip文件

    在Java编程环境中,读取ZIP文件是一项...通过熟练掌握`java.util.zip`包中的类,你可以轻松应对各种ZIP文件操作。在学习和参考项目示例源代码时,确保理解每一步的作用,这将有助于你在实际工作中更好地应用这些知识。

    java压缩zip文件解决中文乱码问题

    在Java中,`java.util.zip`包提供了对ZIP文件的基本操作,但默认使用的是平台默认的字符集,这可能在跨平台操作时引发乱码问题。 为了解决这个中文乱码问题,我们需要在创建ZipEntry时指定合适的字符集,通常是UTF-...

    java解压zip压缩文件

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

    使用java代码替换zip内的文件.docx

    这种方法减少了磁盘空间的占用,提高了处理效率,特别适用于处理大文件或需要高效操作ZIP文件的场景。在实际开发中,根据具体需求,可以进一步优化这个代码,比如添加错误处理机制,或者支持替换多个文件。

    使用java处理zip文件

    `java.util.zip`包提供了必要的类和接口,使得开发者能够方便地操作ZIP文件。本文将深入探讨如何使用Java处理ZIP文件,以及相关的知识点。 首先,`ZipFile`类是处理ZIP文件的核心。它允许我们打开一个存在的ZIP文件...

    poi.zip java读取excel文件

    Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...

    ZIP文件解压上传服务器

    本场景涉及的是使用Java处理ZIP文件,解压后并将解压的文件上传至服务器。以下是对这一过程的详细阐述: 首先,我们需要理解`ZIP`文件格式。ZIP是一种常用的文件压缩格式,它能将多个文件或目录打包成一个单一的...

    JAVA解压ZIP多层目录文件(需ant.jar

    本文将详细介绍一个Java方法,该方法用于解压包含多层目录结构的ZIP文件,并能够支持中文文件名。这种方法利用了Apache Ant库中的`org.apache.tools.zip.ZipFile`类来实现解压功能。在实际应用中,这种方法非常实用...

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

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

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    在Java编程语言中,文件的压缩与解压缩是常见的操作,尤其在数据传输、存储优化以及备份场景下显得尤为重要。...通过上述知识点,开发者能够有效地在Java环境中进行ZIP文件的压缩与解压缩操作,满足实际项目需求。

    java解压zip格式文件

    要解压一个Zip文件,我们需要按照以下步骤操作: 1. **打开Zip文件**:使用`FileInputStream`打开Zip文件,然后通过`ZipInputStream`构造器创建一个新的Zip输入流实例。这样,我们就可以逐个读取Zip文件中的条目了...

    java 生成zip压缩文件

    在创建ZIP文件时,我们主要会用到`ZipOutputStream`和`FileInputStream`这两个类。`ZipOutputStream`用于写入ZIP格式的数据,而`FileInputStream`则用于读取要压缩的原始文件内容。 1. **使用ZipOutputStream**: ...

    java zip rar(区分有无密码的RAR文件) gz ftp工具类

    Java内置的`java.util.zip`包提供了处理ZIP文件的功能。`ZipOutputStream`用于创建ZIP文件,而`ZipInputStream`则用于读取和解压。你可以通过遍历文件或目录,创建`ZipEntry`对象并添加到`ZipOutputStream`来实现...

    java 解压缩zip文件

    在Java编程语言中,解压缩ZIP文件是一项常见的任务,特别是在处理数据传输、文件打包和部署等场景下。本文将深入探讨如何使用Java API来解压缩ZIP文件,包括基本概念、核心类库以及具体实现步骤。 ZIP文件是一种...

Global site tag (gtag.js) - Google Analytics