解决读中文文件名问题,请导入Ant.jar
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.CRC32;
import java.util.zip.CheckedOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
/**
* @author XL
*
*/
public class ZipUtil {
/**
* @param args
*/
public static void main(String[] args) {
zip();
}
/**
* 由于java.util.zip.ZipOutputStream有中文乱码问题,
* 所以采用org.apache.tools.zip.ZipOutputStream。
*/
public static void zip() {
String zipFileName = "C:\\ttt.zip";
File srcFileName = new File("C:\\ObjectSort繁體文件名.txt");
try {
// 创建文件输入流对象
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(srcFileName), "ISO8859_1"));
// 创建文件输出流对象
FileOutputStream f = new FileOutputStream(new File(zipFileName));
CheckedOutputStream ch = new CheckedOutputStream(f, new CRC32());
// 创建ZIP数据输出流对象
ZipOutputStream zipOut = new ZipOutputStream(
new BufferedOutputStream(ch));
// 创建指向压缩原始文件的入口
ZipEntry entry = new ZipEntry(srcFileName.getName());
zipOut.putNextEntry(entry);
// 向压缩文件中输出数据
int nNumber;
while ((nNumber = in.read()) != -1) {
zipOut.write(nNumber);
}
// 关闭创建的流对象
zipOut.close();
in.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
分享到:
相关推荐
在IT行业中,文件压缩与解压缩是日常工作中常见的操作,特别是在数据传输、存储优化和软件分发等领域。这里我们主要探讨的是一个简单的工具类,它支持zip、rar、tar等多种格式的压缩和解压缩功能,并且经过实际测试...
本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 首先,我们要明白乱码问题的根源。在文件的压缩和解压缩过程中,文件名通常被编码为字节序列,这个序列取决于原始文件名...
Java文件压缩与解压缩是软件开发中常见的操作,特别是在数据传输、存储优化和备份场景下。这个资源包“JAVA文件压缩与解压缩实践(源代码+论文).rar”提供了关于这个主题的源代码实现和相关理论研究。让我们深入探讨...
在Java编程语言中,文件的压缩与解压缩是常见的操作,尤其在数据传输、存储优化以及备份场景下显得尤为重要。本资源"JAVA文件压缩与解压缩实践(源代码+论文)"提供了一套完整的实践教程,结合了源代码和理论分析,...
Java文件压缩与解压缩是计算机科学中的一个常见任务,尤其在数据存储、传输和备份等领域。本实践项目涉及到了使用Java编程语言实现文件的压缩和解压缩功能,这对于理解和掌握文件处理技术至关重要。在此,我们将深入...
在Java编程语言中,文件的压缩与解压缩是常见的数据处理任务,这通常涉及到使用库如Apache Commons Compress、Zstd Java Library或者Java内置的ZipOutputStream和ZipInputStream类。本项目"JAVA文件压缩与解压缩实践...
在Java编程语言中,处理包含中文字符的文件名可能会遇到一些挑战,主要是因为编码问题。在不同的操作系统和文件系统中,对非ASCII字符(如中文字符)的支持方式不同,这可能导致乱码或无法正确读取文件。Java API...
本篇文章将详细讲解如何使用Java来解压缩ZIP格式的压缩文件,特别是那些包含中文文件名的压缩包。我们将探讨相关API的使用,以及解决中文文件名在解压过程中可能出现的问题。 1. **Java的压缩与解压缩库**: Java...
2. **解压缩文件** - 使用`ZipInputStream`:对于ZIP文件,你可以创建一个`FileInputStream`指向ZIP文件,然后通过它创建`ZipInputStream`。读取每个条目,然后将其写入到目标目录。例如: ```java ...
在Java编程语言中,文件压缩处理是一项常见的任务,特别是在数据传输、存储优化或者备份场景下。本主题将深入探讨如何使用Java内置的`...理解并熟练掌握这些API,可以帮助开发者更有效地实现文件的压缩与解压缩操作。
1. **Java ZIP API**:Java标准库提供了`java.util.zip`包,该包包含了处理ZIP文件的各种类,如`ZipOutputStream`用于压缩,`ZipInputStream`用于解压缩。`ZipEntry`类代表ZIP文件中的一个条目,可以用来添加或读取...
总结一下,Apache Commons Compress库是Java中处理压缩和解压缩任务的理想选择,尤其是对于处理包含中文文件名的压缩文件。通过`ZipArchiveOutputStream`和`ZipArchiveInputStream`,我们可以方便地实现对文件或...
在Java编程中,处理压缩和解压缩ZIP文件是一项常见的任务,尤其当文件中包含中文字符时,可能会遇到中文乱码的问题。这是因为Java的标准库在处理非ASCII编码时可能存在不足。本篇文章将详细介绍如何使用Java标准库...
"调用WinRar实现加密压缩文件和解密解压缩文件"这个主题,主要涉及到如何利用WinRAR的API或者命令行工具,通过编程方式来实现对文件的压缩与解压,并且进行加密处理。这里我们将深入探讨这个过程,以及涉及到的相关...
本文将深入探讨如何使用`zip4j`库来实现带密码的ZIP文件压缩与解压缩,该库支持中文文件名,并且具有良好的密码保护功能。 `zip4j`是一个强大的Java库,它提供了丰富的API来处理ZIP文件,包括添加、删除、提取文件...
标题提到的"java解压缩zip代码与用到的jar包"主要涉及了Java对ZIP文件的操作,以及一个名为`ant.jar`的第三方库。`ant.jar`是Apache Ant的核心库,它是一个基于Java的任务执行工具,广泛用于构建项目,其中包含了...
本示例着重讲解如何使用Java API来实现ZIP文件的压缩与解压功能,包括处理子目录和文件。以下将详细介绍相关知识点: 1. **Java档案API(java.util.zip)**: Java提供了`java.util.zip`包,它包含了处理压缩文件...
在Java编程语言中,`zip`...通过`ZipFile`、`ZipOutputStream`和`ZipEntry`,我们可以方便地完成文件和目录的压缩与解压缩任务。在实际应用中,理解这些类的用法和交互对于编写高效、可靠的压缩/解压缩程序至关重要。