`

Java实现Zip压缩,解压缩(一)

阅读更多
package org;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

public class Zip {
 
 public static void zip(String zipFileName, String inputFile)
   throws Exception {
  File f = new File(inputFile);
  ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
    zipFileName));
  zip(out, f, null);
  System.out.println("zip done");
  out.close();
 }

 private static void zip(ZipOutputStream out, File f, String base)
   throws Exception {
  System.out.println("zipping " + f.getAbsolutePath());
  if (f != null && f.isDirectory()) {
   File[] fc = f.listFiles();
   if (base != null)
    out.putNextEntry(new ZipEntry(base + "/"));
   base = base == null ? "" : base + "/";
   for (int i = 0; i < fc.length; i++) {
    zip(out, fc[i], base + fc[i].getName());
   }
  } else {
   out.putNextEntry(new ZipEntry(base));
   FileInputStream in = new FileInputStream(f);
   int b;
   while ((b = in.read()) != -1)
    out.write(b);
   in.close();
  }
 }

 
 public static void unzip(String zipFileName, String outputDirectory)
   throws Exception {
  ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
  ZipEntry z;
  while ((z = in.getNextEntry()) != null) {
   String name = z.getName();
   if (z.isDirectory()) {
    name = name.substring(0, name.length() - 1);
    File f = new File(outputDirectory + File.separator + name);
    f.mkdir();
    System.out.println("MD " + outputDirectory + File.separator
      + name);
   } else {
    System.out.println("unziping " + z.getName());
    File f = new File(outputDirectory + File.separator + name);
    f.createNewFile();
    FileOutputStream out = new FileOutputStream(f);
    int b;
    while ((b = in.read()) != -1)
     out.write(b);
    out.close();
   }
  }
  in.close();
 }

 public void deleteFolder(File dir) {
  File filelist[] = dir.listFiles();
  int listlen = filelist.length;
  for (int i = 0; i < listlen; i++) {
   if (filelist[i].isDirectory()) {
    deleteFolder(filelist[i]);
   } else {
    filelist[i].delete();
   }
  }
  dir.delete();
 }

 /**
  * Test ZIP/UNZIP
  * @param args
  */
 public static void main(String[] args) {
  try {
    Zip t = new Zip();
      t.zip("c:\\test.zip","c:\\test");  //在c盘要自己提前建立test文件夹
//    t.unzip("c:\\test.zip","c:\\test");
    File file = new File("c:\\test");
    t.deleteFolder(file);
  } catch (Exception e) {
   e.printStackTrace(System.out);
  }
 }
}


1
2
分享到:
评论

相关推荐

    (JAVA)利用Java实现zip压缩.解压缩.rar_decompress rar java_zip 压缩

    在提供的资源中,"www.pudn.com.txt"可能是文档或链接,用于提供更多的学习资源或者相关背景信息,而"(JAVA)利用Java实现zip压缩.解压缩.txt"可能是教程文本,详细解释了上述的压缩和解压缩过程。 总的来说,Java中...

    利用Java实现zip压缩解压缩

    ### Java 实现 ZIP 文件压缩与解压缩 #### 知识点概述 在现代软件开发过程中,数据压缩是一项非常重要的技术,特别是在处理大量数据时。Java 作为一种广泛应用的编程语言,提供了丰富的 API 来支持文件的压缩与解...

    Java工具类ZIP解压缩

    Java工具类ZIP解压缩Java工具类ZIP解压缩Java工具类ZIP解压缩

    java android zip解压缩(解决压缩中文乱码问题)

    本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 首先,我们要明白乱码问题的根源。在文件的压缩和解压缩过程中,文件名通常被编码为字节序列,这个序列取决于原始文件名...

    java ZIP 解压缩

    java语言操作解压缩文件。 /** * 数据压缩 * * @param data * @return * @throws Exception */ public static byte[] compress(byte[] data) throws Exception { ByteArrayInputStream bais = new ...

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

    JAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩...

    Java实现压缩与解压缩功能源码

    解压缩ZIP文件的过程则相反,需要创建一个`ZipInputStream`实例,并将其链接到`FileInputStream`。通过调用`getNextEntry()`方法遍历ZIP文件中的每个条目,然后将数据读取到一个缓冲区,并写入目标文件。以下是一个...

    java zip 压缩 解压缩 附带ant.jar

    在本主题中,我们将深入探讨如何使用Java来对文件进行zip压缩和解压缩,并提及`ant.jar`的作用。 首先,让我们来看一下`JavaZip.java`这个文件。它很可能包含了一个示例程序,演示了如何使用Java API来压缩和解压缩...

    java zip文件压缩与解压缩

    对于给定的"Rail"这个文件名,假设它是一个子目录,那么在压缩时,这个目录会被包含在ZIP文件内,解压缩时会按照原始结构还原。如果"Rail"是多个文件,那么它们会被分别压缩并保存在ZIP中。 总结来说,Java中使用...

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

    在Java编程语言中,文件的压缩与解压缩是常见的操作,尤其在数据传输、存储优化以及备份场景下显得尤为重要。...通过上述知识点,开发者能够有效地在Java环境中进行ZIP文件的压缩与解压缩操作,满足实际项目需求。

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

    4. **源代码实现**:实践中提供的源代码展示了如何使用Java API来实现文件和目录的压缩与解压缩。这可能包括读取文件,创建压缩流,写入数据到压缩流,以及从压缩流中读取和写入文件等步骤。 5. **文件操作**:在...

    java zip解压缩

    一、Java Zip压缩 1. 使用`ZipOutputStream`类进行压缩: `ZipOutputStream`是Java提供的用于创建Zip文件的流类。我们可以通过向其写入`ZipEntry`对象来添加文件或目录到Zip文件中。以下是一个简单的压缩文件示例:...

    java实现的解压与压缩 zip和rar类型的

    以下是一个使用此库进行RAR解压缩的示例: ```java import org.apache.commons.compress.archivers.rar.RarArchiveEntry; import org.apache.commons.compress.archivers.rar.RarArchiveInputStream; import org....

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

    通过`java.util.zip`包提供的工具类,可以方便地实现文件压缩与解压缩操作。需要注意的是,在实际应用过程中还需要考虑异常处理、资源释放等细节问题,以确保程序的稳定性和安全性。此外,还可以进一步优化缓冲区...

    java实现rar压缩与解压缩

    在Java编程语言中,实现RAR压缩与解压缩是一项常见的任务,尤其在处理大量数据或打包文件以便于传输时。本文将深入探讨如何使用Java来实现这个功能,主要关注`FileUtil.java`文件中的代码实现。 首先,Java本身并不...

    java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip

    java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文)....

    java 中 zip压缩文件解压工具类

    我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示如何实现文件的解压缩功能。 首先,`java.util.zip`包提供了几个关键类,用于处理各种压缩格式,如`...

    java 实现压缩与解压缩ZIP .doc

    下面我们将详细讨论如何使用Java标准库中的`java.util.zip`包来实现这一功能。 首先,我们来看压缩ZIP文件的过程。在提供的代码中,使用了`ZipOutputStream`类来创建一个新的ZIP文件。以下是一些关键步骤: 1. ...

    Java实现压缩解压缩文件和文件夹(附源码)

    Java实现压缩解压缩文件和文件夹(附源码) zip unzip 压缩 解压缩

Global site tag (gtag.js) - Google Analytics