public class TestZip {
/**
* @param args
*/
public static void main(String[] args) {
String name = "a.txt";
String name2 = "b.txt";
File f1 = new File(name);
File f2 = new File(name2);
List<File> files = new ArrayList<File>();
files.add(f1);
files.add(f2);
File out = new File("x.zip");
ZipFiles(files, out);
String[] fnames = {"a.txt","b.txt"};
ZipFiles(fnames, "c.zip");
}
public static void ZipFiles(String[] ins, String out){
List<String> in = Arrays.asList(ins);
ZipFiles(in, out);
}
public static void ZipFiles(List<String> ins, String out){
List<File> inFiles = new ArrayList<File>();
File f = null;
for(String s: ins){
f = new File(s);
if(f.exists()){
inFiles.add(f);
}
f = null;
}
ZipFiles(inFiles, new File(out));
}
/**
* 将inFiles指定的文件, 按zip压缩为outFile
* @param inFiles
* @param outFile
*/
public static void ZipFiles(List<File> inFiles, File outFile) {
byte[] buff = new byte[4096];
int len = -1;
ZipOutputStream zipout = null;
try {
zipout = new ZipOutputStream(new FileOutputStream(outFile));
// zipout.setLevel(ZipOutputStream.STORED);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
ZipEntry entry = null;
InputStream in = null;
for (File f : inFiles) {
try {
in = new FileInputStream(f);
entry = new ZipEntry(f.getName());
zipout.putNextEntry(entry);
while ((len = in.read(buff)) != -1) {
zipout.write(buff, 0, len);
}
zipout.flush();
} catch (Exception e) {
// TODO: handle exception
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
zipout.closeEntry();
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
zipout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
本资源提供了一种解决方案,解决了使用Java打zip包时可能会遇到的中文乱码和包含空文件的问题。以下是关于这个主题的一些关键知识点: 1. **Java的 ZIP API**:Java标准库提供了一个名为`java.util.zip`的包,它...
Java标准库中的`java.util.zip`包提供了`ZipOutputStream`类,可以用来创建ZIP文件。但是,这个类默认使用的是ISO-8859-1编码,无法很好地处理非ASCII字符,例如中文。为了解决这个问题,我们需要在写入文件时指定...
本文将详细讲解如何使用Java实现将多目录多层级的文件打成ZIP包,以及如何解压这些ZIP包。我们将主要关注`FileUtils.java`这个类,以及依赖的`commons-compress-1.1.jar`库。 `commons-compress-1.1.jar`是Apache ...
在Java中,我们可以使用内置的`java.util.zip`包来实现这个功能。下面将详细介绍如何使用Java进行Zip打包,以及涉及到的相关类和方法。 1. `java.util.zip`包: 这个包提供了对ZIP格式压缩文件的支持,包括`...
在Java编程环境中,处理压缩文件,特别是ZIP格式的文件,是一项常见的任务。有时,这些压缩文件可能包含中文文件名,这在处理时可能会遇到编码问题。`java.util.zip`库是Java标准库的一部分,提供了对ZIP文件的支持...
应用java来压缩需要打包的文件,在系统管理中将毛哥路径或者某个文件夹压缩成zip包
在Java编程中,向现有的ZIP压缩包追加文件通常需要经过解压、修改、再压缩的步骤,因为标准的Java ZIP库(如`java.util.zip`包)并不直接支持追加到已存在的ZIP文件。本篇文章将深入探讨如何实现这个功能,主要关注...
Java提供了一个名为`java.util.zip`的包,其中包含用于处理ZIP文件的类,如`ZipOutputStream`和`ZipInputStream`。然而,这些类本身并不支持加密。为了实现ZIP文件的加密,我们需要依赖第三方库,例如Apache Commons...
zip打包java实现方法,其中包括打包,解压
java 实现指定目录下的文件打包zip格式 并指定存放zip包
首先,`ZipEntry`是Java标准库`java.util.zip`包中的核心类,用于表示`zip`文件中的一个条目(entry)。它包含了条目的名称、时间戳、压缩方法、大小等信息。创建`ZipEntry`对象时,通常需要提供条目的名称,然后...
总结来说,"zipJava.zip"提供的源码展示了如何利用Java标准库中的`java.util.zip`包来创建ZIP文件。通过创建`ZipOutputStream`,设置`ZipEntry`,读取文件内容并写入,我们可以方便地将多个文件打包成一个压缩文件。...
Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/ 可以下载到jar包、源码和示例,好像没有提供API文档。 不过需要使用代理访问...
Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...
首先,Java提供了`java.util.zip`包,该包包含了处理ZIP文件所需的类,如`ZipInputStream`、`ZipEntry`等。`ZipInputStream`用于读取ZIP文件的输入流,而`ZipEntry`代表ZIP文件中的每一个条目(即文件或目录)。 1....
### JAVA解压ZIP多层目录文件(需ant.jar) #### 概述 本文将详细介绍一个Java方法,该方法用于解压包含多层目录结构的ZIP文件,并能够支持中文文件名。这种方法利用了Apache Ant库中的`org.apache.tools.zip....
最后,`生成zip包代码.txt`和`解压缩zip包.txt`文件可能包含了具体的实现代码,而`需要用的jar包`可能是指在某些情况下,如使用第三方库时,可能需要引入额外的依赖项。例如,如果使用了Apache Commons Compress库,...
因项目需求,需要在线生成world文档,并且需要批量生成world,那么就可以用zip打包所有world进行下载,这里提供的是一个简单的demo,如需了解在线生成文件,并打包到zip,可以问我
### 使用 Java.util.zip 包实现数据压缩与解压 在计算机科学领域,数据压缩技术是一项重要的功能,它能够帮助减少存储空间的需求以及提高网络传输效率。本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java....