`
CL315917525
  • 浏览: 232463 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java Zip多文件压缩和 GZIP压缩

    博客分类:
  • java
阅读更多
/**
 * 多文件压缩
 * 
 * @author Administrator
 * 
 */
public class ZipCompress {

	public static void main(String args[]) {
		String[] filepaths = { "D:\\zip1.txt", "D:\\zip2.txt" };
		try {
			FileOutputStream f = new FileOutputStream("D://test.zip");
			// 输出校验流,采用Adler32更快
			CheckedOutputStream csum = new CheckedOutputStream(f, new Adler32());
			//创建压缩输出流
			ZipOutputStream zos = new ZipOutputStream(csum);
			BufferedOutputStream out = new BufferedOutputStream(zos);
			//设置Zip文件注释
			zos.setComment("A test of java Zipping");
			for (String s : filepaths) {
				System.out.println("Writing file " + s);
				//针对单个文件建立读取流
				BufferedReader bin = new BufferedReader(new FileReader(s));
				//ZipEntry ZIP 文件条目
				//putNextEntry 写入新条目,并定位到新条目开始处
				zos.putNextEntry(new ZipEntry(s));
				int c;
				while ((c = bin.read()) != -1) {
					out.write(c);
				}
				bin.close();
				out.flush();
			}
			out.close();
			FileInputStream fi = new FileInputStream("D://test.zip");
			CheckedInputStream csumi = new CheckedInputStream(fi, new Adler32());
			ZipInputStream in2 = new ZipInputStream(csumi);
			BufferedInputStream bis = new BufferedInputStream(in2);
			ZipEntry ze;
			while ((ze = in2.getNextEntry()) != null) {
				System.out.println("Reader File " + ze);
				int x;
				while ((x = bis.read()) != -1)
					System.out.println(x);
			}
			//利用ZipFile解压压缩文件
			ZipFile zf = new ZipFile("D:\\test.zip");
			Enumeration e = zf.entries();
			while(e.hasMoreElements()){
				ZipEntry ze2 = (ZipEntry) e.nextElement();
				System.out.println("File name : "+ze2);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

 

    GZIP压缩

 

   

/**
 * 文件压缩
 * 把文件压缩成GZIP 单一的流数据 并不是互异的数据
 * GZIPOutputStream的使用
 * @author Administrator
 * 
 */
public class GzipPcompress {

	public static void main(String args[]) {
		try {
			BufferedReader in = new BufferedReader(new FileReader("D:\\gziptest.txt"));

			BufferedOutputStream out = new BufferedOutputStream(
					new GZIPOutputStream(new FileOutputStream("D:\\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("D:\\test.gz"))));
			String s;
			while((s=in2.readLine()) != null){
				System.out.println(s);
			}

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

分享到:
评论

相关推荐

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    例如,它们支持更多的压缩格式(如GZIP、BZIP2等)和更复杂的压缩选项。 8. **多线程压缩** 对于大型文件或大量文件的压缩,可以考虑使用多线程来提高效率,每个线程处理一部分文件。 9. **文件权限和属性** 在...

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

    Java中的`GZIPOutputStream`和`GZIPInputStream`用于对文件进行GZIP压缩和解压缩。 4. **源代码实现**:实践中提供的源代码展示了如何使用Java API来实现文件和目录的压缩与解压缩。这可能包括读取文件,创建压缩流...

    基于java的开发源码-用GZIP压缩解压文件.zip

    基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩...

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

    Java文件的压缩与解压缩是Java编程中一个实用且常见的技术,主要涉及到Java的I/O流和第三方库如Apache Commons Compress、Java内置的java.util.zip包等。本实践项目结合了源代码和相关论文,提供了深入理解这一主题...

    javazip压缩类

    JavaZip压缩类是Java编程语言中用于处理ZIP文件格式的核心工具,主要集中在java.util.zip包中。这个包提供了多种类和接口,使得开发者能够轻松地对数据进行压缩和解压缩,尤其是在开发需要处理大量数据的应用时,如...

    java自带压缩方式的性能比较

    通过提供的代码文件`CompressTestMain.java`、`GzipUtils.java`和`ZipUtils.java`,我们可以推测作者可能构建了一个测试环境,比较了Gzip和Zip压缩算法在实际操作中的性能差异。 首先,让我们了解Gzip和Zip的基本...

    java zip rar(区分有无密码的RAR文件) gz ftp工具类

    1. **Java ZIP压缩与解压缩**: Java内置的`java.util.zip`包提供了处理ZIP文件的功能。`ZipOutputStream`用于创建ZIP文件,而`ZipInputStream`则用于读取和解压。你可以通过遍历文件或目录,创建`ZipEntry`对象并...

    java压缩文件以及文件夹

    首先,让我们了解`java.util.zip`包,它是Java标准库中用于处理ZIP和GZIP格式的压缩的工具。`ZipOutputStream`和`ZipEntry`是这个包中的关键类,它们用于创建和管理ZIP文件。 1. **ZipOutputStream**: - `...

    Java用GZIP压缩解压文件源码

    总结,Java中的GZIP压缩和解压缩文件是通过`GZIPOutputStream`和`GZIPInputStream`类实现的。了解并掌握这些基础知识对于进行Java文件处理和数据传输是非常重要的。同时,根据项目需求,你可能还需要考虑其他优化和...

    Java用GZIP压缩解压文件

    要使用GZIP压缩文件,我们首先创建一个`FileOutputStream`对象,然后通过它创建一个`GZIPOutputStream`。将要压缩的数据写入`GZIPOutputStream`,完成后记得关闭流。以下是一个简单的示例: ```java import java.io...

    基于java的用GZIP压缩解压文件.zip

    10. **多文件压缩**:如果要压缩多个文件,通常会先将它们打包成一个存档(如tar文件),然后对整个存档进行GZIP压缩。Java中没有内置的tar功能,但可以借助第三方库如Apache Commons Compress来实现。 11. **性能...

    Java用GZIP压缩解压文件.zip

    tar.gz是先使用tar打包多个文件,然后再用GZIP压缩。 6. **性能考虑** GZIP压缩效果通常比不压缩好,但压缩和解压缩操作会消耗更多的CPU资源。在性能敏感的应用中,需要权衡压缩带来的空间节省与CPU消耗。 7. **...

    基于Java的用GZIP压缩解压文件.zip

    首先,我们要了解Java中的`java.util.zip.GZIPOutputStream`和`java.util.zip.GZIPInputStream`类,这两个类是Java标准库提供的用于GZIP压缩和解压缩的核心工具。`GZIPOutputStream`用于写入压缩数据,而`...

    Java用GZIP压缩解压文件.rar

    总结,Java通过`java.util.zip`包提供的GZIPOutputStream和GZIPInputStream类,使得开发者能够方便地对文件进行GZIP压缩和解压缩。在实际项目中,根据具体需求选择合适的压缩和解压缩策略,可以有效提高存储和网络...

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

    1. **压缩API**:在Java中,`java.util.zip`包提供了多个类用于处理压缩文件,如`ZipOutputStream`用于创建ZIP文件,`GZIPOutputStream`用于创建GZIP格式的压缩文件。例如,使用`ZipOutputStream`,我们可以将多个...

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

    如`ZipOutputStream`用于创建ZIP文件,`GZIPOutputStream`用于GZIP压缩,`InflaterInputStream`和`DeflaterInputStream`则用于解压缩。 2. **ZIP文件格式**: ZIP是一种广泛使用的归档文件格式,可以包含多个文件和...

    用java.util.zip包现数据压缩与解压

    除了 ZIP 文件格式之外,`java.util.zip` 包还支持 GZIP 压缩。GZIP 是一种广泛使用的文件格式,通常用于单个文件的压缩。 ##### GZIP 压缩 使用 `GZIPOutputStream` 可以将文件压缩为 GZIP 格式: ```java ...

    JAVA解压缩ZIP压缩文件(含中文名文件)完整DEMO

    Java标准库提供了`java.util.zip`包,它包含了处理压缩文件所需的类和接口,如`ZipInputStream`和`ZipOutputStream`用于处理ZIP文件,`GZIPOutputStream`和`GZIPInputStream`用于处理GZIP文件。 2. **ZIP文件解...

Global site tag (gtag.js) - Google Analytics