`
wdhdmx
  • 浏览: 304483 次
  • 性别: Icon_minigender_1
  • 来自: 山西
博客专栏
D4bbb5f7-9aa4-3e66-8194-f61b3f0241c2
天天编程
浏览量:21977
社区版块
存档分类
最新评论

java中Zip的压缩和解压

阅读更多

java提供的ZIP压缩方法

用到了三个类 ZipEntry ZipOutputStream ZipInputStream

代码如下

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

public class Zipyasuojiaya {
	public static void main(String args[]) {
		file2zip("C:\\abcdefg.zip");
		zip2file();
	}

	// 文件转zip文件,这里模拟一个文件夹和文件压缩
	public static void file2zip(String zipPath) {
		try {
			File zipFile = new File(zipPath);
			zipFile.getParentFile().mkdirs();
			ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
					zipPath));

			// 写一个文件
			File f = new File("C:\\1.txt");
			// 添加一个ZipEntry对象
			out.putNextEntry(new ZipEntry("copy1.txt"));
			FileInputStream in = new FileInputStream(f);
			int b;
			while ((b = in.read()) != -1) {
				out.write(b);
			}
			in.close();
			// 在压缩文件中创建一个文件夹
			out.putNextEntry(new ZipEntry("abc/"));
			// 向这个压缩中的文件夹写入一个文件
			File f1 = new File("C:\\1.txt");
			// 注意这里是文件在压缩文件中的位置,在解压的时候它的那么也是这个
			out.putNextEntry(new ZipEntry("abc/copy2.txt"));
			FileInputStream in1 = new FileInputStream(f1);
			int b1;
			while ((b1 = in1.read()) != -1) {
				out.write(b1);
			}
			in1.close();
			System.out.println("压缩完成");
			// 没有关闭的话文件会存在异常
			out.close();
		} catch (Exception e) {
		}
	}

	// 压缩文件转回文件形式
	public static void zip2file() {
		try {
			ZipInputStream in = new ZipInputStream(new FileInputStream(
					"C:\\abcdefg.zip"));
			ZipEntry z = null;
			while ((z = in.getNextEntry()) != null) {
				if (z.isDirectory()) {
					File f = new File("C:\\123\\" + z.getName() + "\\");
					// 这里将文件夹创建,压缩文件夹中的文件也会当做一个个ZipEntry类,文件夹也是一个ZipEntry类。
					f.mkdirs();
				} else {
					File f = new File("C:\\123\\" + z.getName());
					OutputStream out = new FileOutputStream(f);
					int b;
					while ((b = in.read()) != -1) {
						out.write(b);
					}
					out.close();
				}
			}
			// 记得关闭
			in.close();

		} catch (Exception e) {
			// 这里最好写点东西,要不出错也不知道
			e.printStackTrace();
		}
	}
}
 
分享到:
评论

相关推荐

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

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

    java 文件zip 压缩与解压

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

    java解压zip压缩文件

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

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

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

    Java实现Zip的压缩和解压

    NULL 博文链接:https://zhenyong.iteye.com/blog/1576148

    java版zip压缩解压代码

    `java版zip压缩解压代码`提供了在命令行环境中实现这一功能的程序。这个程序主要利用了Java的内置库,尤其是`java.util.zip`包中的类,如`ZipOutputStream`和`ZipInputStream`,来实现对文件和文件夹的ZIP压缩与解压...

    Java zip 压缩/解压源码

    在Java编程语言中,`zip`格式是一种常用的文件压缩方式,用于将多个文件打包成一个单一的可压缩文件。这个`Java zip 压缩/解压源码`的资源提供了一个简洁易用的API,使得开发者能够方便地对文件进行压缩和解压缩操作...

    java Zip压缩解压

    总结来说,"java Zip压缩解压"涉及了Java标准库中的`java.util.zip`包,用于创建和读取ZIP文件;Apache Ant作为构建工具,可能用于自动化压缩和解压过程;而JUnit则用于编写和运行测试,确保代码的正确实现。在实际...

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

    在Java编程中,处理文件压缩和解压是常见的任务,特别是使用ZIP格式。然而,当涉及到包含中文字符的文件或目录时,可能会遇到乱码问题。这个问题主要源于字符编码的不一致,通常需要正确设置字符集来确保中文字符在...

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

    本篇文章将详细探讨如何使用Java内置的IO流来实现文件夹的zip压缩以及zip压缩包的解压,无需依赖其他的第三方库如Apache Commons IO或JavaZip。 ### 文件夹压缩成ZIP 首先,我们需要理解如何将一个文件夹及其内容...

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

    以上代码片段展示了如何利用Apache Commons IO库来处理中文乱码问题,使得在Java中进行ZIP文件的压缩和解压更加便捷和准确。在实际开发中,根据项目需求,可以选择使用标准库或者Apache Commons IO库,确保文件名和...

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

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

    java压缩解压ZIP

    java压缩解压ZIP

    java实现的解压与压缩 zip和rar类型的

    本文将深入探讨如何使用Java实现ZIP和RAR类型的压缩与解压操作,以及相关知识点。 首先,我们来看ZIP文件格式。ZIP是一种广泛使用的文件压缩格式,其在Java中的处理主要通过`java.util.zip`包。这个包提供了多个类...

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

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

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

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

    Java压缩解压ZIP之Zip4j

    这篇博客文章“Java压缩解压ZIP之Zip4j”可能详细介绍了如何使用Zip4j进行文件的压缩和解压缩操作。 首先,我们需要了解Zip4j库的核心概念。Zip4j提供了一个名为`ZipFile`的类,它代表一个ZIP文件,包含了所有与ZIP...

    java zip 压缩解压例子

    Java的Zip压缩和解压是Java IO和Java Archive(JAR)库中的一部分,用于处理.zip格式的文件。在Java中,我们可以使用`java.util.zip`包中的类,如`ZipOutputStream`和`ZipInputStream`来实现文件或目录的压缩与解压...

    java android zip解压缩(解决压缩中文乱码问题)

    本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 首先,我们要明白乱码问题的根源。在文件的压缩和解压缩过程中,文件名通常被编码为字节序列,这个序列取决于原始文件名...

    用java.util.zip包现数据压缩与解压

    本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java.util.zip` 包进行数据的压缩与解压操作。此外,还将探讨这一技术在网络传输中的应用。 #### 数据压缩算法简介 在深入讨论具体实现之前,我们先简要了解...

Global site tag (gtag.js) - Google Analytics