`
qianlong1207
  • 浏览: 35445 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 压缩文件 ZipOutputStream 支持中文

    博客分类:
  • J2EE
阅读更多

下面就是一个简单的例子

 

package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.tools.zip.ZipOutputStream;

public class CompressToZip {
	public void zip(String inputFileName) throws Exception {
		String zipFileName = "d:\\批量打包.zip";// 打包后文件名字
		System.out.println(zipFileName);
		zip(zipFileName, new File(inputFileName));

	}

	private void zip(String zipFileName, File inputFile) throws Exception {
		ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
				zipFileName));
		zip(out, inputFile, "");
		System.out.println("zip done");
		out.close();
	}

	private void zip(ZipOutputStream out, File f, String base) throws Exception {
		if (f.isDirectory()) {
			File[] fl = f.listFiles();
			System.out.println("新增目录元素   " + base + "/");
			out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/"));
			base = base.length() == 0 ? "" : base + "/";
			for (int i = 0; i < fl.length; i++) {
				zip(out, fl[i], base + fl[i].getName());
			}
		} else {
			System.out.println("新增普通文件元素   " + base);
			out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
			FileInputStream in = new FileInputStream(f);
			int b;
			while ((b = in.read()) != -1) {
				out.write(b);
			}
			in.close();
		}
	}

	public static void main(String[] args) {
		CompressToZip test = new CompressToZip();
		try {
			test.zip("d:\\temp");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

 

分享到:
评论

相关推荐

    java实现文件解压缩,ZipInputStream,ZipOutputStream

    java实现文件解压缩,ZipInputStream,ZipOutputStream

    java压缩文件源码--ZipUtils

    // 设置压缩文件入口entry,为被读取的文件创建压缩条目 File tempFile = new File(fileArray[i].toString()); String rootStr = file.getPath(); String entryStr = null; // entry以相对路径的...

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

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

    用java对文件进行压缩并且解决乱码问题

    ZipOutputStream 压缩 乱码

    Java实现批量下载并压缩文件.pptx.pptx

    下载文件的基本原理 Java中的文件下载是通过...使用Java压缩多个文件为zip包 Java中可以使用ZipOutputStream类将多个文件压缩成一个zip包,首先创建ZipOutputStream对象,然后逐个添加需要压缩的文件,最后关闭流即可。

    使用java代码替换zip内的文件.docx

    网上的办法大多是——先解压,然后对解压目录替换文件,最后再重新压缩。该办法需要比较繁琐,且需要一个临时目录。 于是想找无需解压的方案。 后来找到利用 ZipInputStream、ZipOutputStream 实现该功能的办法。

    java文件压缩和解压 源码

    java中通过ZipOutputStream和ZipInputStream实现了zip压缩和解压功能。java源码————资源共享,一起进步。

    基于JAVA的文件压缩与解压缩实践(源代码+论文)

    在压缩方面,代码使用了Java内置的java.util.zip包中的ZipOutputStream类,实现了对文件的压缩操作,支持将多个文件压缩成一个单独的ZIP文件。在解压缩方面,代码使用了ZipInputStream类,实现了对ZIP文件的解压缩...

    zip4j--Java操作zip压缩文件接口

    Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/ 可以下载到jar包、源码和示例,好像没有提供API文档。 不过需要使用代理访问...

    java 压缩类的用法

    由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节 ... zip压缩文件结构:一个zip文件由多个entry组成,每个entry有一个唯一的名称,entry的 数据项存储压缩数据。

    解决java压缩、解压缩含中文字符的文件或文件夹问题

    通过对JDK的java.util.zip下的ZipInputStream和ZipOutputStream类进行改造,彻底解决压缩和解压缩文件时的中文文件名乱码问题。 包含已大好的jar包,以及一个如何使用的Demo程序。

    Java Zip算法压缩多个文件的例子.rar

    //得到待压缩文件路径名   String entryname=filename.substring(filename.lastIndexOf("\\") 1); //得到文件名   entry=new ZipEntry(entryname); //实例化条目列表   zout.putNextEntry(entry); //将ZIP条目...

    ava支持的zip压缩和解压缩

    zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅...ZipOutputStream :DeflaterOutputStream的一个子类,把数据压缩成Zip文件格式。 GZIPOutputStream :DeflaterOutputStream的一个子类,把数据压缩成GZip文件格

    JAVA文件压缩与解压缩的设计与实现(源代码+论文)

    ZIP是一种较为常见的压缩形式,在Java中要想实现ZIP的压缩需要导入java.util.zip包,可以使用此包中的ZipFile、ZipOutputStream、ZipInputStream、ZipEntry几个类完成。 ZipOutputStream 实现文件的压缩 ...

    Java实现文件的压缩和解压

    基于GUI用IO流中的ZipOutputStream ,ZipInputStream实现文件的解压与压缩, 如文件解压函数如下 private void unZip(String zipFileName, String outputDirectory)throws Exception { InputStream in=null; ...

    java压缩与解压缩工具类

    使用Java ZIPInputStream、ZIPOutputStream、ZIPEntity完成对文件、文件夹的压缩与解压缩的封装,代码清晰易懂

    Spring Boot中使用Java实现文件批量下载与压缩功能

    3.初始化输出流和压缩流:通过获取响应输出流和初始化ZipOutputStream来准备将文件写入压缩包。 4.循环处理文件:遍历文件映射关系,对每个文件执行以下步骤: 创建相应的文件夹路径,避免重复创建。 5.对文件名进行...

    java算法,实现压缩及解压缩

    Java实现压缩与解压缩ZIP  import java.io.BufferedInputStream;  import java.io.BufferedOutputStream;  import java.io.File;  import java.io.FileInputStream;  import java.io.FileOutputStream;...

    java压缩(zip)中文问题完美解决

    使用java压解有中文字符的文件乱码,apache项目中的ant.jar包可完美解决此问题,代码是用eclipse项目,项目下有ant.jar包,使用前请把ant.jar包导入.

    java压缩使用org.apache.tools.zip包解决中文文件名

    //ZipOutputStream类:完成文件或文件夹的压缩 ZipOutputStream outf=new ZipOutputStream(new FileOutputStream(zipfile)); outf.setEncoding("gbk"); for(int i=0;i;i++){ FileInputStream in=...

Global site tag (gtag.js) - Google Analytics