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文件主要涉及到对文件和目录的压缩与解压缩,以及在必要时对压缩文件进行加密处理。这里我们重点讨论使用两个库:`zip4j`和`Apache Ant`来实现这些功能。 1. **zip4j库**:`zip4j-1.3.2.jar`是一个用...
Java操作ZIP文件,特别是涉及到加解密码的环节,是一项常见的任务。在Java中,我们可以使用标准的`java.util.zip`库来处理基本的ZIP文件操作,但若涉及到加密和解密,就需要借助第三方库,例如`Zip4j`。本文将深入...
winszipaes是Java语言下的ZIP文件操作接口,支持密码,但源代码不支持中文,该jar包对源码作了一点修改,使其支持中文,修改信息可以参照我的博客http://blog.csdn.net/zhangyihui1986/article/details/7724229或者...
Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...
Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/ 可以下载到jar包、源码和示例,好像没有提供API文档。 不过需要使用代理访问...
在Java编程中,向现有的ZIP压缩包追加文件通常需要经过解压、修改、再压缩的步骤,因为标准的Java ZIP库(如`java.util.zip`包)并不直接支持追加到已存在的ZIP文件。本篇文章将深入探讨如何实现这个功能,主要关注...
在Java编程环境中,读取ZIP文件是一项...通过熟练掌握`java.util.zip`包中的类,你可以轻松应对各种ZIP文件操作。在学习和参考项目示例源代码时,确保理解每一步的作用,这将有助于你在实际工作中更好地应用这些知识。
在Java中,`java.util.zip`包提供了对ZIP文件的基本操作,但默认使用的是平台默认的字符集,这可能在跨平台操作时引发乱码问题。 为了解决这个中文乱码问题,我们需要在创建ZipEntry时指定合适的字符集,通常是UTF-...
在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对ZIP文件格式的理解。本文将深入探讨如何使用Java实现这一功能,同时也会提及`UnZip.java`和`UnZip2.java`这两个文件可能包含的实现...
这种方法减少了磁盘空间的占用,提高了处理效率,特别适用于处理大文件或需要高效操作ZIP文件的场景。在实际开发中,根据具体需求,可以进一步优化这个代码,比如添加错误处理机制,或者支持替换多个文件。
`java.util.zip`包提供了必要的类和接口,使得开发者能够方便地操作ZIP文件。本文将深入探讨如何使用Java处理ZIP文件,以及相关的知识点。 首先,`ZipFile`类是处理ZIP文件的核心。它允许我们打开一个存在的ZIP文件...
Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...
本场景涉及的是使用Java处理ZIP文件,解压后并将解压的文件上传至服务器。以下是对这一过程的详细阐述: 首先,我们需要理解`ZIP`文件格式。ZIP是一种常用的文件压缩格式,它能将多个文件或目录打包成一个单一的...
本文将详细介绍一个Java方法,该方法用于解压包含多层目录结构的ZIP文件,并能够支持中文文件名。这种方法利用了Apache Ant库中的`org.apache.tools.zip.ZipFile`类来实现解压功能。在实际应用中,这种方法非常实用...
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
在Java编程语言中,文件的压缩与解压缩是常见的操作,尤其在数据传输、存储优化以及备份场景下显得尤为重要。...通过上述知识点,开发者能够有效地在Java环境中进行ZIP文件的压缩与解压缩操作,满足实际项目需求。
要解压一个Zip文件,我们需要按照以下步骤操作: 1. **打开Zip文件**:使用`FileInputStream`打开Zip文件,然后通过`ZipInputStream`构造器创建一个新的Zip输入流实例。这样,我们就可以逐个读取Zip文件中的条目了...
在创建ZIP文件时,我们主要会用到`ZipOutputStream`和`FileInputStream`这两个类。`ZipOutputStream`用于写入ZIP格式的数据,而`FileInputStream`则用于读取要压缩的原始文件内容。 1. **使用ZipOutputStream**: ...
Java内置的`java.util.zip`包提供了处理ZIP文件的功能。`ZipOutputStream`用于创建ZIP文件,而`ZipInputStream`则用于读取和解压。你可以通过遍历文件或目录,创建`ZipEntry`对象并添加到`ZipOutputStream`来实现...
在Java编程语言中,解压缩ZIP文件是一项常见的任务,特别是在处理数据传输、文件打包和部署等场景下。本文将深入探讨如何使用Java API来解压缩ZIP文件,包括基本概念、核心类库以及具体实现步骤。 ZIP文件是一种...