`
supercoly
  • 浏览: 33927 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

使用java压缩一个文件夹中的任意几个文件

    博客分类:
  • java
阅读更多
之前有人写过用递归压缩一个文件夹里的所有文件,看了让人受益匪浅,
我这个程序没有那么复杂,但是在我现在的实际的项目中,根本不会用到压缩整个文件夹,需要选择文件来压缩,我就写了这个简单的小程序,贴出来大家分享吧。
package test;

import java.util.ArrayList;
import java.util.List;
import java.util.zip.*;
import java.io.*;
/**
 * 
 * @author lIHUI
 *
 */
public class MyZip {
	/**
	 * 压缩一个文件到一个zip
	 * @param in 输入的文件
	 * @param out 输出的zip名
	 * @param outEntry zip中的条目名
	 */
	public static  void zip(String in,ZipOutputStream out,String outEntry) {
		File inf = new File(in) ;
		FileInputStream ins;
		try {
			if(inf.exists()){
				ins = new FileInputStream(inf);
				out.putNextEntry(new ZipEntry(outEntry));
				int b ;
				while ((b = ins.read()) != -1) {
					out.write(b);
				}
				ins.close();
			}else{
				//按照项目的需要在没有的时候给予提示吧。
				System.out.println("系统找不到指定文件:"+in);
			}
		
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}	 catch (IOException e2) {
			e2.printStackTrace();
		} catch (Exception e3) {
			e3.printStackTrace();
		}
	}
	
	/**
	 * 
	 * @param out 输出的zip名
	 * @param in 输入的目录
	 * @param inEntrys 输入的条目集合
	 */
	public static  void zip(String out,String in,List<String> inEntrys) {
		try {
			OutputStream zipFileName_fileOutputStream = new FileOutputStream(out);
			ZipOutputStream zipOutputStream = new ZipOutputStream(zipFileName_fileOutputStream);
			for(String inEntry:inEntrys){
				zip(in+inEntry,zipOutputStream,inEntry);
			}
			zipOutputStream.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
			
				List<String> inEntrys=new ArrayList<String>();
				inEntrys.add("a.txt");
				inEntrys.add("b.txt");
				//可以加一个实际没有的文件试试
				inEntrys.add("xy.txt");
				
				zip("e:\\a.zip","e:\\a\\",inEntrys);
			
	}
}
分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

    Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...

    JSP.rar_java 动态树_jsp tree

    【标题】"JSP.rar_java 动态树_...综上,这个项目是关于使用Java、JSP和数据库技术来构建一个无限级的动态树状菜单系统,用户可以通过这个菜单进行交互,而系统则根据用户的操作和数据库中的数据动态地更新菜单结构。

    jspbook.rar_java md5_java 管理_jsp tomcat_md5_正则表达式

    【标题】"jspbook.rar" 是一个包含Java Web开发相关资源的压缩文件,重点在于使用JSP、JavaBean以及Access数据库技术。这个项目是为在Tomcat应用服务器上运行而设计的,无需额外配置数据源。 【描述】该资源描述了...

    AZip压缩包解压工具1.101.rar

    在压缩包子文件的文件名称列表中,我们看到有一个名为"azipjiedayesngd.exe"的文件。这很可能是AZip压缩包解压工具的安装程序,用户可以通过运行这个文件来安装和体验AZip的各项功能。 总的来说,AZip压缩包解压...

    java环境搭建及用eclipse创建第一个程序 详细步骤.docx

    1. **创建并编辑一个简单的Java文件**:在任意位置创建一个名为`Test.java`的文本文件,输入以下代码: ```java public class Test { public static void main(String[] args) { System.out.println("hello, ...

    利用电脑软件合成手机java软件教程.doc

    合成Java软件能够帮助我们整合多个功能或者优化内存占用,尤其对于手机内存有限的用户来说,这是一个非常实用的技术。 首先,我们需要进行准备工作。确保已下载并安装Java 2 SDK Standard Edition 1.5.0 Beta 1,这...

    网管教程 从入门到精通软件篇.txt

    Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...

    小学生口算练习宝(口算打卡)

    三、程序为exe程序(一个exe文件和一个excel模板文件,要在一个文件夹就可以),下载后无需安装直接可以运行,并且有excel模板,如果生成的excel文件打印出线或打印不全的,可以自行调整一下模板excel文件的列宽和...

    Eclipse汉化包,汉化成中文版

    Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java编程领域中占据着重要的地位。然而,对于非英语用户来说,其默认的英文界面可能会带来一定的使用困扰。为了解决这个问题,就有了Eclipse汉化包的出现。...

    JDK8_64.rar

    标题"JDK8_64.rar"表明这是一个包含Java Development Kit (JDK) 8的64位版本的压缩文件。在IT领域,JDK是Java编程语言的核心工具集,用于开发和运行Java应用程序。"64"意味着这个版本适用于64位操作系统,它能够更好...

    Windows下JAVA環境説明.doc

    在Windows操作系统中配置Java开发环境,通常涉及几个关键组件:Apache HTTP服务器、Tomcat应用服务器、Java Development Kit (JDK) 和Eclipse集成开发环境(IDE)。以下是对这些组件的详细说明和配置步骤: 1. **JDK...

    简历模板(可任意修改) (510).zip

    ".zip" 是一种常见的文件压缩格式,用于将多个文件或文件夹打包成一个单一的文件,以节省存储空间并方便传输。在Windows、Mac或Linux系统中,用户可以直接解压此文件来访问内部的文件,如"简历模板(可任意修改) ...

    免安装版eclipse

    首先,你需要下载这个压缩文件到本地计算机上,通常推荐放在一个方便访问的文件夹里。然后,使用解压缩工具(如WinRAR或7-Zip)打开zip文件,将其内容解压缩到任意位置。解压缩完成后,你会发现一个包含Eclipse可...

    Tomcat_6.0.20免安装版

    【描述】"Tomcat+jre,无需安装jdk"意味着这个压缩包内不仅包含了Tomcat服务器,还自带了一个Java Runtime Environment (JRE)。这样用户在运行Tomcat时,无需额外安装Java Development Kit (JDK),因为JRE提供了运行...

    apache-tomcat

    免安装版意味着用户在下载后不需要进行复杂的安装过程,只需解压缩文件即可开始使用,这大大简化了部署流程,使得开发者和系统管理员可以快速地在本地或服务器上设置一个运行环境。 描述中提到的"解压以后就可以...

    eclipse快速集成反编译插件

    总结起来,Eclipse集成反编译插件是一个方便开发者查看和理解未提供源代码的Java库的关键步骤,通过反编译工具,可以提高开发过程中的问题诊断和学习效率。而“decompiler”文件可能就是实现这一功能的关键组件。

    Android资源文件(学习android必备)

    - **结构**:在XML中,`&lt;Selector&gt;`为根元素,包含一个或多个`&lt;item&gt;`元素。每个`&lt;item&gt;`定义了一组状态及其对应的图像。 - **位置**:`res/drawable/xxx.xml`(文件名即资源ID) - **引用**: - Java:`R.drawable...

    android的apk之反编译.pdf

    通过上述步骤,我们可以较为完整地反编译一个Android APK文件,获取到其中的资源文件和源代码。需要注意的是,由于涉及到版权和法律问题,在没有获得原作者许可的情况下,随意反编译他人的应用可能会触犯相关法律...

    自己使用Swing实现的POJOGenerator(POJO代码生成器 v1.2)

    1、先将压缩档解压到任意文件夹。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经 提供了默认的配置信息,您仅需在此基础上修改部分参数(如:IP地址、端口号、 用户名、密码、数据库...

Global site tag (gtag.js) - Google Analytics