`
Daemon_Liu
  • 浏览: 14145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

多个文件的压缩(中文问题)

阅读更多
   分两种情况,一、压缩后的文件含有原文件路径信息。二、压缩后不含有路径信息。

一、
public static void main(String[] s) {
		 // 这是要进行压缩的文件
		String[] source = new String[]{"C:\\c\\a.txt", "C:\\c\\b.txt"};
		// 创建一个读取这些文件的缓冲区
		byte[] buf = new byte[1024];
		try {
		//创建zip文件
		String target = "C:\\target.zip";
		ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
		out.setEncoding("GBK");//解决中文显示问题
		// 对上面的几个文件进行压缩
		for (int i=0; i<source.length; i++) {
		FileInputStream in = new FileInputStream(source[i]);
		// 添加zip到输出流c
		out.putNextEntry(new ZipEntry(source[i]));
		// 把需要压缩文件的字节流传输到ZIP文件
		int len;
		while ((len = in.read(buf)) > 0) {
		out.write(buf, 0, len);
		}
		// 完成创建
		out.closeEntry();
		in.close();
		}
		// Complete the ZIP file
		out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

二、
public static void main(String[] s) {
		 // 这是要进行压缩的文件
		String[] source = new String[]{"C:\\c\\a.txt", "C:\\c\\b.txt"};
        File[] sourcefile = new File[source.length];
        for(int i=0;i<sourcefile.length;i++){//构建文件
        	sourcefile[i]= new File(source[i]);
        }
		// 创建一个读取这些文件的缓冲区
		byte[] buf = new byte[1024];
		try {
		//创建zip文件
		String target = "C:\\target.zip";
		ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
		out.setEncoding("GBK");//解决中文显示问题
		// 对上面的几个文件进行压缩
		for (int i=0; i<sourcefile.length; i++) {
		FileInputStream in = new FileInputStream(sourcefile[i]);
		// 添加zip到输出流c
		out.putNextEntry(new ZipEntry(sourcefile[i].getName()));
		// 把需要压缩文件的字节流传输到ZIP文件
		int len;
		while ((len = in.read(buf)) > 0) {
		out.write(buf, 0, len);
		}
		// 完成创建
		out.closeEntry();
		in.close();
		}
		// Complete the ZIP file
		out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
分享到:
评论

相关推荐

    java实现多个文件压缩成rar压缩包

    ### Java 实现多个文件压缩成 RAR 压缩包 #### 背景与目的 在日常工作中,经常会遇到需要将多个文件压缩为一个压缩包的情况,以便于存储、传输或备份。Java 作为一种广泛使用的编程语言,在处理文件操作方面提供了...

    ZipUtil文件压缩工具类

    在Java编程语言中,`ZipUtil`文件压缩工具类是一个非常实用的工具,它利用了Java内置的`java.util.zip`包中的`ZipEntry`类来实现文件或目录的压缩功能。`ZipUtil`通常被设计为一个静态类,提供一系列静态方法,使得...

    ZLib + minizip实现ZIP文件压缩解压缩

    2. **ZIP文件格式**:ZIP是一种流行的档案格式,可以包含一个或多个经过压缩的文件和目录。ZIP文件头包含了关于压缩方法、时间戳、文件权限等信息,minizip就是用来解析和操作这些信息的。 3. **minizip API**:...

    Js压缩工具 对JS文件压缩,缩小文件大小

    3. **组合文件**:除了压缩,还可以将多个JS文件合并成一个文件,减少HTTP请求的数量,进一步提升页面加载速度。 4. **缓存利用**:为了最大化性能提升,记得更新压缩后文件的URL,以便浏览器能识别出文件的变化并...

    解压zip压缩文件,支持多文件目录解压,中文乱码问题

    在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...

    ZipUtil文件压缩工具类(解决中文乱码)

    `ZipUtil`是一个专门用于文件压缩的工具类,它解决了在处理包含中文字符的文件或目录时可能出现的乱码问题。`ZipEntry`是Java标准库`java.util.zip`包中的核心类,用于表示ZIP文件中的一个条目,它可以是文件或目录...

    java 下载文件 压缩且删除源文件(支持文件夹与文件)

    2、指定文件夹(文件夹中必须有一个文件),程序会自动的压缩文件为 zip,然后下载删除源文件与压缩文件。 3、可以指定文件都为最后生成为zip文件下载,且删除源文件。 1、压缩文件或者目录(只是压缩不删除):...

    多文件压缩zip

    "多文件压缩zip"是指将多个文件合并成一个单一的压缩文件,通常以.zip格式。这个主题涵盖了解压缩过程,以及如何处理中文乱码问题。本文将深入探讨相关知识点。 首先,我们来了解ZIP文件格式。ZIP是一种广泛使用的...

    文本文件压缩解压

    该技术涉及到多个知识点,包括: 1. **堆排序**:在构建霍夫曼树的过程中,堆排序是一种常用的方法。霍夫曼树的构建通常采用最小堆,将字符频率作为权值,每次合并两个权值最小的节点,直到只剩下一个节点,形成一...

    文件解压和压缩 解决中文乱码

    在IT行业中,文件的压缩和解压是一项...总的来说,理解和掌握文件压缩和解压的原理,以及处理中文乱码的方法,对Java开发者来说至关重要,这能够帮助他们有效地处理各种文件操作需求,尤其是涉及到多语言环境的时候。

    NXPowerLite Desktop 9(文件压缩软件)官方中文版V9.0.3 | 极品文件压缩器

    压缩文件保持与源文件相同的格式,即具有相同的文件扩展名,用户不需要NXPowerLite即可打开压缩过的文件,当然了NXPowerLite Desktop还可以将需要压缩的多个文件打包为一个zip格式的压缩文件,该文件压缩器支持集成...

    文件压缩与解压缩

    本资源提供了关于这方面的代码实例,涵盖了单个文件、多个文件以及整个文件夹的递归压缩和批量解压缩功能。以下是这些知识点的详细说明: 首先,`ZipOutputStreamTest.java` 文件涉及到的是使用Java的`java.util....

    java zip文件压缩与解压缩

    如果"Rail"是多个文件,那么它们会被分别压缩并保存在ZIP中。 总结来说,Java中使用Apache Commons Compress库进行ZIP文件操作,不仅提供了更丰富的功能,如设置字符编码,还能有效处理中文等非ASCII字符,保证了在...

    读取文件并压缩存盘

    在IT行业中,文件的压缩与...总的来说,文件的读取、压缩与存储涉及数据库操作、数据编码、压缩算法以及文件I/O等多个技术领域。理解并掌握这些基础知识,能够帮助我们高效、稳定地处理各种IT场景中的文件管理任务。

    4、知名免费开源文件解压缩软件7-Zip.rar

    7. **批量操作**:用户可以通过7-Zip一次性处理多个文件或整个目录,进行批量压缩或解压缩,大大提高了工作效率。 8. **文件管理器集成**:7-Zip可以与Windows资源管理器无缝集成,用户可以直接在右键菜单中执行...

    java文件解压缩工具箱及案例

    RAR是一种流行的压缩格式,由WinRAR软件创建,通常用于压缩大文件或多个文件。这个库使得Java程序能够无缝地操作RAR文件,包括处理包含中文字符的文件名,避免乱码问题。 `ant-1.8.2.jar` 是Apache Ant的实现,这是...

    多文件打包压缩-易语言

    压缩包内的“多文件打包压缩读取.e”可能是主程序或示例代码,用于演示如何打包和压缩多个文件;而“文件包读取模块.e”则可能是精易模块的扩展部分,包含了实现文件打包和解压功能的具体代码。 总的来说,这个教程...

    易语言模块文件压缩模块.rar

    1. 文件压缩:模块通常会提供一个或多个函数用于文件或目录的压缩,比如“压缩文件”或“压缩目录”。这些函数需要指定待压缩的文件或目录路径,以及输出的压缩文件路径。使用时,根据实际需求设置参数,调用函数...

    Python实现多级目录压缩与解压文件的方法

    在Python编程中,处理文件...通过遍历目录结构,读取和写入文件,我们可以轻松地处理复杂的文件压缩和解压缩任务。在实际应用中,还可以根据需要扩展这些基础功能,例如添加错误处理、进度显示等功能,以提高用户体验。

    ZIP压缩和解压类

    ZIP是一种流行的文件存档格式,它允许将多个文件和目录打包成一个单一的文件。ZIP文件内部包含了一个或多个经过压缩的数据块,每个数据块对应源文件的一部分。ZIP支持多种压缩算法,如Deflate和BZip2,其中Deflate是...

Global site tag (gtag.js) - Google Analytics