`
- 浏览:
124240 次
- 性别:
- 来自:
深圳
-
ZIP压缩类
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipCompress ...{
/** *//**
* @param args
*/
public static void main(String[] args) throws IOException ...{
compress("D:/tomcat-5.5.20","d:/test/testZip.zip");
}
/** *//**
* 递归压缩文件
* @param source 源路径,可以是文件,也可以目录
* @param destinct 目标路径,压缩文件名
* @throws IOException
*/
private static void compress(String source,String destinct) throws IOException ...{
List fileList=loadFilename(new File(source));
ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(new File(destinct)));
byte[] buffere=new byte[8192];
int length;
BufferedInputStream bis;
for(int i=0;i<fileList.size();i++) ...{
File file=(File) fileList.get(i);
zos.putNextEntry(new ZipEntry(getEntryName(source,file)));
bis=new BufferedInputStream(new FileInputStream(file));
while(true) ...{
length=bis.read(buffere);
if(length==-1) break;
zos.write(buffere,0,length);
}
bis.close();
zos.closeEntry();
}
zos.close();
}
/** *//**
* 递归获得该文件下所有文件名(不包括目录名)
* @param file
* @return
*/
private static List loadFilename(File file) ...{
List filenameList=new ArrayList();
if(file.isFile()) ...{
filenameList.add(file);
}
if(file.isDirectory()) ...{
for(File f:file.listFiles()) ...{
filenameList.addAll(loadFilename(f));
}
}
return filenameList;
}
/** *//**
* 获得zip entry 字符串
* @param base
* @param file
* @return
*/
private static String getEntryName(String base,File file) ...{
File baseFile=new File(base);
String filename=file.getPath();
//int index=filename.lastIndexOf(baseFile.getName());
if(baseFile.getParentFile().getParentFile()==null)
return filename.substring(baseFile.getParent().length());
return filename.substring(baseFile.getParent().length()+1);
}
}
ZIP解压类
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class ZipDecompression ...{
/** *//**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException ...{
decompression("d:/test/testZip.zip","d:/test/un");
}
/** *//**
* 解压ZIP文件
* @param zipFile 要解压的ZIP文件路径
* @param destination 解压到哪里
* @throws IOException
*/
public static void decompression(String zipFile,String destination) throws IOException ...{
ZipFile zip=new ZipFile(zipFile);
Enumeration en=zip.entries();
ZipEntry entry=null;
byte[] buffer=new byte[8192];
int length=-1;
InputStream input=null;
BufferedOutputStream bos=null;
File file=null;
while(en.hasMoreElements()) ...{
entry=(ZipEntry)en.nextElement();
if(entry.isDirectory()) ...{
System.out.println("directory");
continue;
}
input=zip.getInputStream(entry);
file=new File(destination,entry.getName());
if(!file.getParentFile().exists()) ...{
file.getParentFile().mkdirs();
}
bos=new BufferedOutputStream(new FileOutputStream(file));
while(true) ...{
length=input.read(buffer);
if(length==-1) break;
bos.write(buffer,0,length);
}
bos.close();
input.close();
}
zip.close();
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
`java版zip压缩解压代码`提供了在命令行环境中实现这一功能的程序。这个程序主要利用了Java的内置库,尤其是`java.util.zip`包中的类,如`ZipOutputStream`和`ZipInputStream`,来实现对文件和文件夹的ZIP压缩与解压...
在本文中,我们将通过实例代码详细介绍如何使用 Java API 实现 ZIP 递归压缩和解压文件夹。 一、概述 在实际应用中,我们经常需要将文件或文件夹压缩成 ZIP 文件,以便于传输或存储。同时,我们也需要能够解压 ZIP...
9. **递归压缩目录**: 如果要压缩的是一个目录,需要递归地处理其中的所有文件和子目录。对于每个文件,创建一个`ZipEntry`并写入;对于每个子目录,创建一个没有数据的`ZipEntry`(表示目录条目)。 10. **代码...
`UnZip.java`和`UnZip2.java`可能包含了不同的解压实现,例如,`UnZip2.java`可能会包含更高效或更复杂的解压逻辑,比如递归处理子目录、处理大型ZIP文件的优化、错误处理或进度指示等。这些文件可能使用了循环、...
Java的Zip压缩和解压是Java IO和Java Archive(JAR)库中的一部分,用于处理.zip格式的文件。在Java中,我们可以使用`java.util.zip`包中的类,如`ZipOutputStream`和`ZipInputStream`来实现文件或目录的压缩与解压...
Java Zip压缩和解压缩是Java开发中常见的文件处理任务,主要涉及到`java.util.zip`包中的类和方法。本文将详细讲解如何使用Java进行Zip文件的压缩与解压缩操作,并结合给定的标签"源码"和"工具"来探讨实际应用场景。...
本文将详细介绍如何使用 Java 实现 ZIP 文件的压缩和解压缩功能,并通过具体的代码示例来展示其实现过程。 #### Java 中 ZIP 文件处理的核心类 Java 提供了两个核心类来处理 ZIP 文件:`ZipOutputStream` 和 `...
标题提到的"java解压缩zip代码与用到的jar包"主要涉及了Java对ZIP文件的操作,以及一个名为`ant.jar`的第三方库。`ant.jar`是Apache Ant的核心库,它是一个基于Java的任务执行工具,广泛用于构建项目,其中包含了...
这段代码实现了对单个文件或整个目录的递归压缩。其中,`zipFile`方法负责具体文件的压缩操作,而`zip`方法则是整个压缩过程的入口。 #### 四、总结 本文详细介绍了如何使用Java实现文件的压缩与解压功能。通过对`...
在Java编程环境中,对目录和文件进行ZIP压缩与解压是一项常见的操作,特别是在处理大量数据或者需要进行文件传输时。本文将深入探讨如何使用Java来实现这一功能。 首先,我们需要了解ZIP文件格式,它是一种广泛使用...
在上面的代码中,`zipFiles` 方法接收一个源目录和目标ZIP文件路径,然后使用 `addFolderToZip` 递归地将所有文件和子目录添加到ZIP流中。`ZipEntry` 对象用于描述每个压缩项,并设置其在ZIP文件中的路径。 对于解...
1. **Java压缩库**:Java标准库提供了`java.util.zip`包,它包含了多种压缩和解压缩的类,如`ZipOutputStream`、`ZipInputStream`、`GZIPOutputStream`和`GZIPInputStream`,用于处理ZIP和GZIP格式的文件。...
以上代码片段展示了如何在Python和Java中使用递归解压文件夹下的所有指定类型的压缩文件。当然,实际应用中还需要考虑错误处理、文件权限等问题,以及可能需要的用户交互。递归解压不仅可以提高效率,而且可以灵活地...
在Java编程中,向现有的ZIP压缩包追加文件通常需要经过解压、修改、再压缩的步骤,因为标准的Java ZIP库(如`java.util.zip`包)并不直接支持追加到已存在的ZIP文件。本篇文章将深入探讨如何实现这个功能,主要关注...
这篇博客“java ftp上传 下载 文件压缩解压”很可能是关于如何使用Java实现FTP文件上传、下载以及文件的压缩与解压功能。下面我们将深入探讨这些知识点。 首先,FTP上传和下载是Java中常见的任务,通常通过`java...
在Java编程语言中,`java.util.zip` 是一个非常重要的包,它提供了处理各种压缩格式(如ZIP和GZ)的工具。在这个场景中,我们将深入探讨如何使用这个包来解压缩和压缩ZIP格式的文件。`java.util.zip` 包包含几个关键...
该程序会递归地解压ZIP文件中的所有文件和目录。 需要注意的是,这个示例仅处理了ZIP文件的基本解压功能,实际应用中可能需要考虑更多细节,比如文件权限、保留原始文件属性、处理加密的ZIP文件等。另外,为了提高...
### JAVA_解压ZIP知识点详解 #### 一、概述 在Java编程中,处理压缩文件是一项常见的需求。本文档详细介绍了如何使用Java语言中的库来解压ZIP格式的文件。此文档不仅提供了一个完整的示例代码,还包含了必要的理论...
在Java编程语言中,压缩文件夹到指定目录和指定名称是一项常见的任务,这通常涉及到对文件系统的操作和使用压缩库。Java提供了多种方法来实现这一功能,比如使用内置的`java.util.zip`包或者第三方库如Apache ...
工具类可能会提供方便的方法,如将文件或目录结构批量压缩成ZIP,或者将ZIP解压到指定目录。 以下是一个简单的示例,展示了如何使用Java内置的API创建和操作ZIP文件: ```java import java.io.*; import java.util...