`
sunxiang0918
  • 浏览: 45733 次
  • 性别: 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-1.3.2.jar ant-1.10.6.jar

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

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

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

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

    Java调用Zip类批量压缩多个文件.rar

    Java调用Zip类批量压缩多个文件,此前有一个是压缩单个文件,也可参考,相关代码中可找到此源码。  public class ZipDemo extends JFrame{  JFileChooser fileChooser; //文件选择器  JList fileList; //待...

    Java对zip文件的操作winzipaes源码,支持中文

    winzipaes是Java操作ZIP文件的开源项目,支持密码,但不支持中文文件名,此文件中是修改后的源码,可以压缩文件名含有中文的文件,修改之处可以参看博客http://xjlsgcjdtc.iteye.com/blog/1439514或者...

    zip4j_1.3.2 - Java操作zip压缩文件接口最新版本

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

    java操作共享文件

    java读取共享文件使用jcifs-1.1.11.jar 的SmbFile 类使用用户名密码共享目录操作共享文件

    Java使用winzipaes对zip文件的操作,支持中文

    winzipaes是Java操作ZIP文件的开源项目,支持密码,但不支持中文文件名。此文件中包含修改后的源码、文档、jar包、依赖包及示例程序等文件。可以压缩文件名含有中文的文件,修改之处可以参看博客...

    Java实现Zip压缩文件操作的工具类.zip

    Java实现Zip压缩文件操作的工具类 文章介绍:https://blog.csdn.net/rongbo91/article/details/117747042 (可作为Jar依赖包直接使用) 1、项目使用前,请进入rdc-bom目录下,执行mvn clean install命令  2、可...

    java操作zip_包括加解密码

    java将文件压缩成ZIP格式的工具包API,操作简捷。 内附源码、文档、用例。

    用Java压缩解压ZIP文件

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

    Java实现将多目录多层级文件打成ZIP包,以及解压ZIP包

    包含了使用的jar包,以及一个Java类,实现了使用Java对多目录多层级的文件进行打包,以及对ZIP包进行解压缩的操作。

    java,Blob字段操作,将图片或者文件保存到数据库中.zip

    java,Blob字段操作,将图片或者文件保存到数据库中.zip

    java将文件夹压缩成zip,解压zip压缩包

    java控制指定路径下的文件夹压缩成zip格式。 java将zip压缩包解压成为文件夹。直接使用io流进行操作,不需借助其他jar包

    JAVA 文件常用流操作.zip

    JAVA 文件常用流操作 包括文件的创建,重命名,删除等等。字节流,字符流,缓存流,数据流,打印流,内存流等等

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

    java操作压缩文件和解压文件实例代码(经测试),把jar文件导入到项目里。源代码根据注释修改下路径就能用了

    Java压缩和解压缩zip文件

    这几天做一个操作docx的文档的功能,Apache的POI功能有限,就参考了相关资料写的一个Java压缩和解压zip文件的工具类。全部使用的是Java自带的类库,中文的文件名会有乱码的问题。

    java.util.zip 解压缩文件,ZIP格式压缩文件.rar

    Java解压缩文件,并以ZIP格式压缩文件,主要是使用java.util.zip 包中的类来实现解压、压缩文件功能,如果你对这个类并不太熟悉,你正好可以参考一下这个类是如何用的。

    js上传zip文件java解压.txt

    jsp页面上传zip压缩包,用ajax传给后端进行解压,创建路径解压存储在本地,然后程序调用解压后的文件进行操作,然后再删除临时文件夹。用于批量导入信息和照片,然后ajax回调导入结果返回前端显示给操作者。

    Java Zip算法压缩多个文件的例子.rar

    Java Zip算法压缩多个文件的例子,具体的实现原理是:先打开文件并读取,然后利用ZipEntry实例化待压缩的条目列表,将ZIP条目列表写入输出流,从源文件得到文件输入流,写入缓冲数据等。相关代码:  ...

Global site tag (gtag.js) - Google Analytics