`
CoderDream
  • 浏览: 478604 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java API 压缩与解压缩之四 压缩中文文件名的文件

阅读更多

解决读中文文件名问题,请导入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等多种格式的压缩和解压缩功能,并且经过实际测试...

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

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

    JAVA文件压缩与解压缩实践(源代码+论文).rar

    Java文件压缩与解压缩是软件开发中常见的操作,特别是在数据传输、存储优化和备份场景下。这个资源包“JAVA文件压缩与解压缩实践(源代码+论文).rar”提供了关于这个主题的源代码实现和相关理论研究。让我们深入探讨...

    JAVA文件压缩与解压缩实践(源代码+论文).zip

    在Java编程语言中,文件的压缩与解压缩是常见的操作,尤其在数据传输、存储优化以及备份场景下显得尤为重要。本资源"JAVA文件压缩与解压缩实践(源代码+论文)"提供了一套完整的实践教程,结合了源代码和理论分析,...

    毕业答辩-JAVA文件压缩与解压缩实践(源代码论文).rar

    Java文件压缩与解压缩是计算机科学中的一个常见任务,尤其在数据存储、传输和备份等领域。本实践项目涉及到了使用Java编程语言实现文件的压缩和解压缩功能,这对于理解和掌握文件处理技术至关重要。在此,我们将深入...

    JAVA文件压缩与解压缩实践的设计与实现(源代码+毕设文档).zip

    在Java编程语言中,文件的压缩与解压缩是常见的数据处理任务,这通常涉及到使用库如Apache Commons Compress、Zstd Java Library或者Java内置的ZipOutputStream和ZipInputStream类。本项目"JAVA文件压缩与解压缩实践...

    Java处理中文文件名-压缩中文名字的文件.rar

    在Java编程语言中,处理包含中文字符的文件名可能会遇到一些挑战,主要是因为编码问题。在不同的操作系统和文件系统中,对非ASCII字符(如中文字符)的支持方式不同,这可能导致乱码或无法正确读取文件。Java API...

    JAVA解压缩ZIP压缩文件(含中文名文件)完整DEMO

    本篇文章将详细讲解如何使用Java来解压缩ZIP格式的压缩文件,特别是那些包含中文文件名的压缩包。我们将探讨相关API的使用,以及解决中文文件名在解压过程中可能出现的问题。 1. **Java的压缩与解压缩库**: Java...

    java 解压缩 和 压缩 文件

    2. **解压缩文件** - 使用`ZipInputStream`:对于ZIP文件,你可以创建一个`FileInputStream`指向ZIP文件,然后通过它创建`ZipInputStream`。读取每个条目,然后将其写入到目标目录。例如: ```java ...

    java 文件压缩处理

    在Java编程语言中,文件压缩处理是一项常见的任务,特别是在数据传输、存储优化或者备份场景下。本主题将深入探讨如何使用Java内置的`...理解并熟练掌握这些API,可以帮助开发者更有效地实现文件的压缩与解压缩操作。

    java操作压缩文件和解压文件实例代码(经测试)

    1. **Java ZIP API**:Java标准库提供了`java.util.zip`包,该包包含了处理ZIP文件的各种类,如`ZipOutputStream`用于压缩,`ZipInputStream`用于解压缩。`ZipEntry`类代表ZIP文件中的一个条目,可以用来添加或读取...

    java实现对文件或文件夹的压缩和解压缩

    总结一下,Apache Commons Compress库是Java中处理压缩和解压缩任务的理想选择,尤其是对于处理包含中文文件名的压缩文件。通过`ZipArchiveOutputStream`和`ZipArchiveInputStream`,我们可以方便地实现对文件或...

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

    在Java编程中,处理压缩和解压缩ZIP文件是一项常见的任务,尤其当文件中包含中文字符时,可能会遇到中文乱码的问题。这是因为Java的标准库在处理非ASCII编码时可能存在不足。本篇文章将详细介绍如何使用Java标准库...

    调用WinRar实现加密压缩文件和解密解压缩文件

    "调用WinRar实现加密压缩文件和解密解压缩文件"这个主题,主要涉及到如何利用WinRAR的API或者命令行工具,通过编程方式来实现对文件的压缩与解压,并且进行加密处理。这里我们将深入探讨这个过程,以及涉及到的相关...

    zip带密码压缩解压缩工具类(java)

    本文将深入探讨如何使用`zip4j`库来实现带密码的ZIP文件压缩与解压缩,该库支持中文文件名,并且具有良好的密码保护功能。 `zip4j`是一个强大的Java库,它提供了丰富的API来处理ZIP文件,包括添加、删除、提取文件...

    java解压缩zip代码与用到的jar包

    标题提到的"java解压缩zip代码与用到的jar包"主要涉及了Java对ZIP文件的操作,以及一个名为`ant.jar`的第三方库。`ant.jar`是Apache Ant的核心库,它是一个基于Java的任务执行工具,广泛用于构建项目,其中包含了...

    JAVA压缩与解压文件(包括子目录)

    本示例着重讲解如何使用Java API来实现ZIP文件的压缩与解压功能,包括处理子目录和文件。以下将详细介绍相关知识点: 1. **Java档案API(java.util.zip)**: Java提供了`java.util.zip`包,它包含了处理压缩文件...

    Java zip 压缩/解压源码

    在Java编程语言中,`zip`...通过`ZipFile`、`ZipOutputStream`和`ZipEntry`,我们可以方便地完成文件和目录的压缩与解压缩任务。在实际应用中,理解这些类的用法和交互对于编写高效、可靠的压缩/解压缩程序至关重要。

Global site tag (gtag.js) - Google Analytics