`

j2se-----zip

    博客分类:
  • J2SE
阅读更多
private InitData getInitFile(String path) {
		Properties p = new Properties();

		try {
			ZipInputStream zipIn = new ZipInputStream(new BufferedInputStream(
					new FileInputStream(path)));
			FileOutputStream fileOut = null;
			ZipEntry entry = null;
			byte[] buf = new byte[1024];

			while ((entry = zipIn.getNextEntry()) != null) {
				if (entry.getName().endsWith(InitData.INIT_FILE_NAME)) {
					p.load(zipIn);
				} else {
					zipIn.closeEntry();
				}
			}
			zipIn.close();
		} catch (Exception e) {
			logger.debug("Putting instrumented entry: error=" + e.getMessage(),
					e);
		}
		return new InitData(p);
	}

下面是把往zip里面塞一个序列化文件
public static void main(String[] args) {
		try {
			String path = "d:/aaa.war";
			ZipInputStream zipIn = new ZipInputStream(new BufferedInputStream(
					new FileInputStream(path)));
			ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(
					"d:/aaa1.war"));
			ZipEntry entry = null;

			while ((entry = zipIn.getNextEntry()) != null) {
				ZipEntry zipOutEntry = new ZipEntry(entry.getName());
				zipOutEntry.setComment(entry.getComment());
				zipOutEntry.setExtra(entry.getExtra());
				zipOutEntry.setTime(entry.getTime());
				zipOut.putNextEntry(zipOutEntry);
				byte[] entryBytes = IOUtil
						.createByteArrayFromInputStream(zipIn);

				zipOut.write(entryBytes);
				zipOut.flush();
				zipOut.closeEntry();
			}
			Test t = new Test();
			t.setName("aaaa");
			ZipEntry outputEntry = new ZipEntry("test.ser");
			zipOut.putNextEntry(outputEntry);

			ByteArrayOutputStream b = new ByteArrayOutputStream();
			ObjectOutputStream o = new ObjectOutputStream(b);
			o.writeObject(t);
			byte[] entryBytes = b.toByteArray();
			zipOut.write(entryBytes);
			zipOut.closeEntry();

			zipIn.close();
			zipOut.close();

			File f = new File(path);
			f.delete();
			File ff = new File("d:/aaa1.war");
			ff.renameTo(f);
		} catch (Exception e) {
			System.out.println(e);
		}
	}


//下面这个是解压的
public void setFileItem(FileItem fileItem) throws Exception {
		String baseDir = super.getSrcPath();
		BufferedOutputStream dest = null;
		ZipInputStream zis = new ZipInputStream(new BufferedInputStream(
				fileItem.getInputStream()));
		ZipEntry entry;
		this.mkdirs(baseDir);

		while ((entry = zis.getNextEntry()) != null) {
			int count;
			byte data[] = new byte[BUFFER];
			// write the files to the disk
			String entryName = entry.getName();
			String path = baseDir + entryName;
			File file = new File(path);
			if (entry.isDirectory()) {
				file.mkdirs();
			} else {
				this.mkdirs(path);
				FileOutputStream fos = new FileOutputStream(path);
				dest = new BufferedOutputStream(fos, BUFFER);
				while ((count = zis.read(data, 0, BUFFER)) != -1) {
					dest.write(data, 0, count);
				}
			}
                       if(dest!=null){
			   dest.flush();
			   dest.close();
                       }
			zis.closeEntry();
		}
		zis.close();
		this.srcPath = baseDir + fileItem.getFieldName();
	}

	private void mkdirs(String path) {
		path = path.replace("\\", "/");
		path = path.substring(0, path.lastIndexOf("/"));
		File file = new File(path);
		if (!file.exists())
			file.mkdirs();
	}

删除目录
private void deleteDirs(File file) {
		if (file.isDirectory()) {
			File[] files = file.listFiles();
			for (File f : files) {
				if (f.isFile())
					f.delete();
				else {
					deleteDirs(f);
				}
			}
			file.delete();
		} else {
			file.delete();
		}
	}
分享到:
评论

相关推荐

    J2SE 1.3,1.4,1.5,1.6,1.7,1.8 API.zip

    本资源包含从J2SE 1.3到1.8的完整API文档,对于开发者来说,这是一个宝贵的参考资料,可以深入了解不同版本间的变更和差异,确保代码在各个版本上的兼容性。 1. J2SE 1.3 API: 这是Java平台的早期版本,引入了...

    j2se代码.zip

    这个压缩包"j2se代码.zip"显然包含了与 Java 编程相关的源代码,非常适合那些刚开始学习 Java 的初学者。这里我们将深入探讨 Java 编程的一些关键知识点,帮助你更好地理解和掌握这门强大的编程语言。 1. **Java ...

    JAVA学生作品---航空售票系统(J2SE).zip

    这个基于J2SE(Java标准版)的学生作品,充分展现了Java语言在开发复杂业务系统上的强大能力。J2SE是Java平台的核心部分,提供了一套全面的API,用于构建桌面应用和服务器端应用。 航空售票系统的设计与实现,涉及...

    jaxmpp_Lib.zip

    jaxmpp的一些相关jar包,包括:jaxmpp-core-3.0.0.jar,jaxmpp-j2se-3.0.0.jar,tigase-utils-3.4.4.jar,tigase-xmltools-3.4.4.jar,欢迎下载

    面向后台,j2se部分都是基础,主要学习: 面向对-Java-Summary-of-Basic-Learning.zip

    本资料“面向对-Java-Summary-of-Basic-Learning.zip”旨在总结Java基础学习的关键知识点,帮助初学者快速理解和掌握Java编程。 1. **Java语法基础**: - 变量和数据类型:包括基本数据类型(如int, double, ...

    J2SE的项目源代码_J2SE.zip

    J2SE的项目源代码_J2SE

    毕业设计论文-IT计算机-设计J2SE模拟MVC的企业人事管理系统源码-源码.zip

    这篇毕业设计论文主要探讨了如何使用Java Standard Edition (J2SE) 平台来模拟Model-View-Controller (MVC) 设计模式构建一个企业级人事管理系统。在IT计算机领域,MVC是一种广泛应用于Web应用开发的经典架构模式,...

    J2SE核心技术基础(上).zip

    J2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zip

    J2SE配置

    从给定的文件信息中,我们可以提炼出一系列与J2SE配置相关的详细知识点,主要涵盖了JDK、WTK、Eclipse、Tomcat以及Eclipse插件(如Lomboz)的安装与配置过程。以下是对这些知识点的深入解析: ### 1. JDK的安装与...

    J2SE1.6 JDK API中文版(CHM格式)

    《J2SE1.6 JDK API中文版》是Java开发者不可或缺的重要参考资料,它详细地介绍了J2SE(Java Standard Edition)1.6版本的API(Application Programming Interface)。API文档是编程语言的核心组成部分,它提供了标准...

    J2SE6.0_Api_CN.zip_J2SE6.0_Api_CN_J2se6.0_apidoc_j2se 6.0_APIDOC

    这个压缩包`J2SE6.0_Api_CN.zip`包含了J2SE 6.0的API中文文档,方便中国开发者理解和使用Java 6的功能。 API文档是开发人员了解任何编程平台或库功能的关键工具,J2SE 6.0也不例外。这个版本的Java引入了许多新特性...

    JAVA参考大全.J2SE.pdf.zip

    《JAVA参考大全.J2SE》是一本全面深入探讨Java Standard Edition (J2SE) 技术的权威指南。这本书涵盖了Java编程语言的核心概念、API以及开发工具,旨在帮助程序员掌握Java平台的基础和高级特性。J2SE是Java平台的...

    JADE-all-3.7 zip包 比较全的jade

    - 兼容Java 2 Platform Standard Edition (J2SE),并可能支持Java 8及更高版本。 总的来说,JADE-all-3.7.zip为构建分布式、自主和智能的多代理系统提供了一个强大且灵活的平台。无论你是MAS新手还是经验丰富的...

    J2SE_Java_Api.zip

    Java API,全称为Java Application Programming Interface,是一组预先定义好的类和...这个名为“J2SE_Java_Api.zip”的压缩包,很可能包含了完整的J2SE API文档,供开发者参考学习,以便更好地理解和使用Java API。

    j2se6.zip

    Java SE 6,全称Java Platform, Standard Edition 6,是Java编程语言的一个重要版本,由Sun Microsystems(后被Oracle收购)在2006年发布。这个版本在Java历史中占据着重要的地位,因为它引入了许多新特性,优化了...

    毕业设计-设计J2SE模拟MVC的企业人事管理系统源码.zip

    《基于J2SE模拟MVC模式的企业人事管理系统》 在当今信息技术飞速发展的时代,企业对信息化管理的需求日益增强。本文将深入探讨一个基于Java Standard Edition(J2SE)平台,采用Model-View-Controller(MVC)设计...

    j2se6.chm.zip

    标题中的"j2se6.chm.zip"表明这是一个关于Java 2 Standard Edition (J2SE) 6的压缩包文件,通常包含一个.chm(Microsoft Compiled HTML Help)格式的文档,这种格式常用于技术手册和指南。CHM文件集成了HTML页面,...

    zxing-1.7-javase.jar.zip

    "zxing-1.7-javase.jar.zip" 是ZXing库的Java标准版(JavaSE)的一个版本,版本号为1.7,打包成ZIP压缩格式。以下是关于ZXing和其JavaSE版本的一些详细知识点: 1. **ZXing库的功能**: - **条码读取**:ZXing提供...

    32个计算机专业毕业论文毕业设计JSP JAVA J2SE ASP Web 软件项目源码+WORD文档.zip

    优秀毕业设计论文+源码.rar基于ASP企业人事管理系统的设计与实现源码+WORD论文文档.zip基于Java的图书馆借阅管理系统源码+毕业设计论文文档.zip基于Swing技术下的酒店客房信息管理系统源码基于安卓Android学生考勤...

    设计J2SE模拟MVC的企业人事管理系统源码及文档.zip

    本项目以“设计J2SE模拟MVC的企业人事管理系统源码及文档.zip”为主题,提供了一个具体的应用实例,旨在帮助学习者理解和掌握如何在Java Standard Edition (J2SE)环境下运用MVC模式来设计和实现一个企业级的人事管理...

Global site tag (gtag.js) - Google Analytics