`

java需要关注的知识点---I0之压缩

阅读更多
1.GZIP压缩:
public class GZIPPcompress {
	public static void main(String[] args) throws IOException {
		if (args.length == 0) {
			System.out.println("Usage: \n GZIPcompress file\n" +
					" \tUses GZIP compresion to compress  " +
					" the file to test.gz");
			System.exit(1);
		}
		BufferedReader in = new BufferedReader(new FileReader(args[0]));
		BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream("test.gz")));
		System.out.println("Writing file");
		int c;
		while((c = in.read()) != -1) {
			out.write(c);
		}
		in.close();
		out.close();
		System.out.println("Reading file");
		BufferedReader in2 = new BufferedReader(new InputStreamReader(
				new GZIPInputStream(new FileInputStream("test.gz"))));
		String s;
		while((s = in2.readLine()) != null) {
			System.out.println(s);
		}
	}
}

ZIP压缩文件:
package com.io;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Enumeration;
import java.util.zip.Adler32;
import java.util.zip.CheckedInputStream;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

public class ZipCompress {
	public static void main(String[] args) throws IOException {
		FileOutputStream f = new FileOutputStream("test.zip");
		CheckedOutputStream cos = new CheckedOutputStream(f, new Adler32());
		ZipOutputStream zos = new ZipOutputStream(cos);
		BufferedOutputStream out = new BufferedOutputStream(zos);
		zos.setComment("A test of Java Zipping");
		for(String arg:args) {
			System.out.println("Writing file " + arg);
			zos.putNextEntry(new ZipEntry(arg));
			BufferedReader in = new BufferedReader(new FileReader(arg));
			int c;
			while((c = in.read()) != -1) {
				out.write(c);
			}
			out.flush();
			
		}
		out.close();
		System.out.println("Checksum:" + cos.getChecksum().getValue());
		System.out.println("Reading file!");
		FileInputStream fi = new FileInputStream("test.zip");
		CheckedInputStream cis = new CheckedInputStream(fi, new Adler32());
		ZipInputStream zis = new ZipInputStream(cis);
		BufferedInputStream bis = new BufferedInputStream(zis);
		ZipEntry ze;
		while((ze = zis.getNextEntry()) != null) {
			System.out.println("Read file:" +ze);
			int x;
			while((x = bis.read()) != -1) {
				System.out.write(x);
			}
			System.out.println();
		}
		if(args.length == 1) {
			System.out.println("Check Sum:" + cis.getChecksum().getValue());
			ZipFile zf = new ZipFile("test.zip");
			Enumeration e = zf.entries();
			while(e.hasMoreElements()) {
				ZipEntry ze2 = (ZipEntry) e.nextElement();
				System.out.println("File:" + ze2);
			}
		}
	}
	
}

分享到:
评论

相关推荐

    Java基础知识点 - 内容比较全面

    Java是世界上最流行的编程语言之...这些知识点构成了Java开发者必备的基础,深入理解它们有助于编写出高效、稳定的代码。在实际开发中,还需要结合设计模式、异常处理、网络编程等知识,才能构建出完整的Java技术体系。

    Java文档-jdk-6u10-docs-java类库6.0-高压缩第二部分

    **关键知识点:** 1. **Java API**:Java API文档是开发者的必备工具,提供了类库的所有公共接口和实现。 2. **Java 6.0特性**:包括增强的垃圾回收、新的Swing组件、动态语言支持、XML处理的优化等。 3. **Java...

    java入门之Java2-3-4

    总的来说,"Java入门之Java2-3-4"是一个全面的Java学习资源,涵盖了从基础到进阶的关键知识点。无论是对编程感兴趣的新手,还是想要巩固Java基础知识的开发者,都能从中受益。在学习过程中,不断实践、编写代码并...

    Java把文件压缩成zip

    ### Java将文件压缩为ZIP的方法 #### 知识点概览 本文主要介绍如何使用Java实现文件的ZIP压缩功能,并提供了完整的代码示例。通过学习本文,你可以掌握以下几个知识点: 1. 使用`java.util.zip`包中的类进行文件...

    jre-1_5_0-windows-i586

    在深入探讨这个知识点时,我们需要了解Java虚拟机的角色。JVM是Java程序的核心,它负责解释和执行Java代码,提供了跨平台兼容性,因为Java的“一次编写,到处运行”原则依赖于JVM在不同平台上的一致行为。Java 5引入...

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

    以下是该主题涵盖的一些关键知识点: 1. **Java压缩库**:Java标准库提供了`java.util.zip`包,它包含了多种压缩和解压缩的类,如`ZipOutputStream`、`ZipInputStream`、`GZIPOutputStream`和`GZIPInputStream`,...

    java图片压缩处理 支持gif

    以上就是关于“java图片压缩处理”和“支持gif”的核心知识点。通过理解这些概念和使用适当的库,你可以编写出能够高效、灵活地处理和压缩GIF图片的Java程序。在实际项目中,根据具体需求,还可以结合其他策略,比如...

    jre-6u26-windows-i586.rar

    标题“jre-6u26-windows-i586.rar”揭示了我们正在处理的是一个Java运行环境(Java Runtime Environment,简称JRE)的压缩文件,版本为6更新26(Update 26),适用于Windows操作系统,且是32位(i586)架构的。...

    java实现压缩与解压缩

    本文将深入探讨如何使用Java进行文件的压缩和解压缩操作,以及涉及的相关知识点。 首先,Java标准库提供了`java.util.zip`包,它包含了一系列类用于处理ZIP和GZIP格式的压缩文件。例如,`ZipOutputStream`和`...

    midp-2_0-src-windows-i686

    标题“midp-2_0-src-windows-i686”所指的,是Java Micro Edition (Java ME) 中的Mobile Information Device Profile (MIDP) 2.0的源代码包,特别为Windows i686(即32位Intel处理器)平台设计。MIDP是Java ME的一...

    jdk-7-windows-i586.zip

    标签通常用于分类或搜索,但在这个上下文中,它并未提供其他知识点。 至于压缩包内的文件“jdk-7-windows-i586.exe”,这是一个可执行文件,用于在Windows系统上安装JDK。安装程序会自动配置系统路径,设置环境变量...

    java文件分割压缩

    以下是一些相关的Java编程知识点: 1. **文件I/O操作**:在Java中,`java.io`包提供了进行文件读写的基本功能。在文件分割中,我们需要使用`FileInputStream`来读取文件,然后用`FileOutputStream`将内容写入新的...

    java web 图片压缩

    下面将详细介绍这个项目涉及的关键知识点。 1. **Java图像处理库**: - Java标准库中的`java.awt.image`和`javax.imageio`包提供了基本的图像处理能力,包括读取、写入、缩放和旋转图片。 - 第三方库如`ImageIO`...

    java做的一个压缩软件

    Java编程语言以其强大的类库和跨平台特性,广泛...总之,使用Java实现压缩软件是一个涉及到多方面知识的任务,包括文件I/O、压缩算法、异常处理和资源管理等。通过不断学习和实践,可以创建出高效、稳定的压缩工具。

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

    在Windows环境下,使用Java进行程序开发时,有时我们需要对文件进行压缩操作,比如将文件...这个过程涉及到了Java的本地方法调用、文件操作、第三方库集成等多个知识点,需要对Java、C/C++和WinRAR API有一定的了解。

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

    以下是一些关于Java中进行文件压缩和解压缩的核心知识点: 1. **Java ZIP API**: Java的标准库提供了`java.util.zip`包,它包含了处理ZIP文件所需的基本类,如`ZipInputStream`用于读取ZIP文件,`ZipOutputStream`...

    vali-admin-maste

    下面我们将详细探讨这些知识点。 1. **Spring框架**:Spring是Java企业级应用中最广泛使用的框架之一,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,简化了开发过程。Spring MVC是Spring框架的一部分,...

    初学者的------Java记事本------初作

    在实践过程中,他们可能会遇到如内存管理、异常处理、代码结构优化等问题,这些都是Java编程中的重要知识点。 综上所述,这个“初学者的Java记事本——初作”项目是一个适合新手的编程练习,涵盖了Java GUI编程、...

    JAVA-QQ-chat-system-instructions.rar_QQ_QQ java_java qq

    这包括但不限于网络通信、多线程处理、数据序列化、用户认证和安全等关键知识点。 【标签】"qq" 表示与腾讯QQ相关的技术或功能,"qq_java" 暗示我们讨论的是使用Java来实现QQ功能,"java_qq" 强调了Java在创建QQ...

    jdk-8u181-windows-i586.exe

    详细讲解知识点: 1. **Java Development Kit (JDK)**:JDK是Java开发的基础,它提供了编译Java源代码所需的工具,如`javac`编译器,`jar`打包工具,以及`javadoc`文档生成器等。此外,它还包括Java运行时环境(JRE...

Global site tag (gtag.js) - Google Analytics