`

Java压缩文件时的中文路径问题

    博客分类:
  • java
阅读更多

      用Java自带的类 java.util.zip进行文件/目录的压缩的话,不支持中文的名件/目录命名,如果有中文名,那么打包就会失败。经过在网络搜索和实践,发现在一般的Ant.jar类库中也有zip类,import org.apache.tools.zip.*,能够解决不支持中文文件目录的问题。

 

package com.moonights.tools;

import java.io.*;
import java.util.zip.*;
//import org.apache.tools.zip.*;
/**
 * 
 * @author moonights
 *
 */
public class ZipTest {
	/*
	 * @param inPath:要压缩的文件路径
	 * @param newFileName:压缩后的文件名
	 */
	public void zip(String inPath,String newFileName){
		try {
			BufferedReader in = new BufferedReader(new InputStreamReader(
					new FileInputStream(inPath), "ISO8859_1"));
			FileOutputStream f = new FileOutputStream(newFileName + ".zip");
			CheckedOutputStream ch = new CheckedOutputStream(f, new CRC32());
			ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
					ch));
			int c;
			out.putNextEntry(new ZipEntry(newFileName));
			while ((c = in.read()) != -1)
				out.write(c);
			in.close();
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/*
	 * test
	 */
	public static void main(String[] args) {
		new ZipTest().zip("D://readme.txt", "D://aaa"); 
		//new ZipTest().zip("D://eclipse插件//向表格中增加一行.txt", "D://aaa");
	}
}

 

分享到:
评论
1 楼 西西且留下 2009-11-16  
这都能发现!太牛了!

相关推荐

    java调用winrar生成压缩文件路径有空格问题

    ### Java调用WinRAR生成压缩文件路径有空格问题解决方案 在进行文件处理时,我们经常需要对文件进行压缩操作以便于传输或者节省存储空间。Java作为一种常用的开发语言,在进行此类操作时通常会通过调用外部命令的...

    java压缩文件以及文件夹

    本文将深入探讨如何使用Java来处理压缩文件,特别是针对标题提及的“java压缩文件以及文件夹”。我们将主要关注`ZipCompressor.java`这个类,它是实现文件和文件夹压缩的核心工具。 首先,让我们了解`java.util.zip...

    JAVA压缩文件代码

    在Java编程语言中,压缩文件是一项常见的任务,用于减少文件的存储空间,提高传输效率。HUFFMAN编码是一种数据压缩算法,它基于字符频率构建一棵最优的二叉树来进行编码,广泛应用于文本压缩。本节将详细介绍如何在...

    Java把文件压缩成zip

    2. **创建文件列表**:通过`ArrayList`存储待压缩的文件路径。 3. **创建文件对象数组**:根据文件路径创建文件对象数组。 4. **遍历文件并压缩**: - 对每个文件,创建一个`FileInputStream`来读取文件内容。 - ...

    java压缩文件工具类

    工具类中提供的方法有:压缩单个文件,压缩多个文件,解压文件到制定路径下。获取压缩文件的文件列表。压缩文件的文件注释。

    java压缩文件生成带密码的zip包,解压带密码的zip包的工具类

    * @param isCreateDir 是否在压缩文件里创建目录,仅在压缩文件为目录时有效. * 如果为false,将直接压缩目录下文件到压缩文件. * @param passwd 压缩使用的密码 * @return 最终的压缩文件存放的绝对路径,...

    java压缩文件解压缩和文件的压缩

    9. **安全性**: 当处理用户输入的文件路径时,要确保防止路径遍历攻击,即恶意用户尝试访问文件系统上的非预期位置。 10. **资源管理**: 记得在完成操作后关闭流,避免资源泄漏。Java 7引入的try-with-resources...

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    本实践主要关注如何使用Java来处理ZIP格式的压缩文件,以下将详细介绍相关知识点。 1. **Java档案API(Java Archive API, JAR)** Java标准库提供了一个强大的API来处理各种类型的档案文件,包括ZIP格式。`java....

    java压缩文件,zip打包

    应用java来压缩需要打包的文件,在系统管理中将毛哥路径或者某个文件夹压缩成zip包

    windows 下java调用winrar压缩文件为rar 格式

    要在Java中处理RAR格式的压缩文件,由于Java标准库不直接支持RAR格式,我们需要引入第三方库。一个常用的库是`com.igormaznitsa:nativesharp-jni`,它封装了WinRAR的API,使得Java可以调用WinRAR的功能。安装该库后...

    java开发中压缩js,css文件

    这些工具不仅能够压缩文件,还能进行变量和函数名的混淆,进一步减小文件大小,但混淆可能会对代码可读性和调试带来困难,因此在生产环境使用时需谨慎。 对于JavaScript的压缩,Closure Compiler和YUI Compressor会...

    Java代码 可以压缩文件夹到指定目录和指定名称,将文件或者文件夹中的文件转成base64格式

    在Java编程语言中,压缩文件夹到指定目录和指定名称是一项常见的任务,这通常涉及到对文件系统的操作和使用压缩库。Java提供了多种方法来实现这一功能,比如使用内置的`java.util.zip`包或者第三方库如Apache ...

    java 直接压缩文件或文件目录

    在Java编程语言中,压缩文件或文件目录是一项常见的任务,主要使用了Java的`java.util.zip`包中的类。这个包提供了对ZIP和GZIP格式的支持。本文将深入讲解如何利用Java来直接压缩文件或文件目录,以及如何进行相关的...

    java 压缩/解压 .zip/.rar/.tar 文件

    在Java编程中,处理文件的压缩和解压缩是常见的任务,尤其在数据传输、存储优化或者备份场景下。本文将详细讲解如何使用Java...同时,处理文件压缩和解压缩时要注意错误处理和资源管理,避免内存泄漏和文件损坏等问题。

    Java压缩及解压tar、tar.z格式文件

    Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载

    java压缩文件代码

    ### Java压缩文件代码详解:基于Zip格式的文件压缩技术 #### 概述 在Java编程中,处理文件压缩是一项常见的需求,特别是在数据传输、存储优化或归档管理方面。Java标准库提供了强大的压缩功能,其中最常用的是基于...

    java文件压缩

    这段代码定义了一个`compressFolder`方法,它接受源文件夹路径和目标ZIP文件路径作为参数,然后递归地将源文件夹及其内容压缩到指定的ZIP文件中。 6. **注意事项**:在实际操作中,需要注意错误处理和资源管理,...

    java将文件夹压缩成zip,解压zip压缩包

    在Java编程环境中,处理文件的压缩与解压是常见的任务,尤其在数据传输或存储时。本篇文章将详细探讨如何使用Java内置的IO流来实现文件夹的zip压缩以及zip压缩包的解压,无需依赖其他的第三方库如Apache Commons IO...

Global site tag (gtag.js) - Google Analytics