`

读写zip文件

 
阅读更多

import java.io.*;
import java.util.zip.*;
/*
 * Creates a ZIP file to be read by Winzip or Winrar
 */
public class WriteZip {

 public static void main(String[] args) {
  
  // lets put 2 files
  String[] filename = {"file1.dat", "file2.dat"};
  // create a line of text for the files
        byte[] buffer = new byte[27];        // the alphabet + <line feed?
        byte letter = 'a';
        for(int i = 0; i < 26; ++i)
         buffer[i] = letter++;
        buffer[26] = '\n';   // and an end of line
       
        try {
      // Create the ZIP file
      String outFilename = "myzip.zip";
      ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));

      // Compress two files
      for (int i=0; i<filename.length; i++) {
          // Add ZIP entry to output stream.
          out.putNextEntry(new ZipEntry(filename[i]));

          // Transfer 10 lines into the file
          for(int j = 0; j < 10; ++j)
              out.write(buffer);

          // Close the file
          out.closeEntry();
      }

      // Close the ZIP file
      out.close();
  } catch (IOException e) {
   System.out.println("Problem writing ZIP file: " + e);
  }

 }
}

 

import java.io.*;
import java.util.zip.*;

public class ReadZip {

 public static void main(String[] args) {
  try {
   // Open the ZIP file
   String inFilename = "myzip.zip";
   ZipInputStream in = new ZipInputStream(new FileInputStream(inFilename));

   // While we have other entry
   ZipEntry entry = in.getNextEntry();
   while(entry != null){
    System.out.println("Reading: " + entry.getName());
    // Transfer bytes from the ZIP file to the output file
    // OK I know that my file contains 10 * 27 bytes the reading might
    // be more versatile and test if there is more bytes in the file
    byte[] buf = new byte[1024];
    
    int len = in.read(buf);
             String theFile = new String(buf, 0, len);
    System.out.println(theFile);

    entry = in.getNextEntry();
   } // end while
   // Close the ZIP file
   in.close();
  } catch (IOException e) {
   System.out.println("Probel reading back the ZIP file: " + e);
  }

 }

参考:http://www.dreamincode.net/forums/topic/244086-write-and-read-zip-file-from-java/

分享到:
评论

相关推荐

    编程方式读写ZIP文件(C++).rar

    本文将详细探讨如何在C++中以编程方式读写ZIP文件。 首先,你需要一个库来处理ZIP文件,因为C++标准库并不直接支持ZIP操作。一种常用的库是libzip,它提供了读取、创建、修改和删除ZIP文件的功能。安装libzip后,你...

    C++编程的方式读写ZIP文件,基于ZipLib封装的库

    本文将深入探讨如何利用ZipLib库在C++中进行ZIP文件的读写操作。ZipLib是一个用C编写的库,用于处理ZIP档案,而我们的任务是通过在C++中对其进行封装,以便更方便地进行压缩和解压缩。 首先,我们需要理解ZIP文件...

    ZIP文件损坏修复

    5. **电源故障**:在读写ZIP文件的过程中突然断电,可能会造成文件系统错误,导致ZIP文件损坏。 **检测ZIP文件损坏的方法** 1. **尝试解压**:最简单的方法是尝试用常用的压缩软件(如WinRAR、7-Zip)进行解压。...

    C++ zip文件解压VS例子

    它提供了一套更高级的接口,使得开发者可以更容易地读写ZIP文件,包括添加、删除、提取文件以及处理密码保护的ZIP文件等。 3. **在VS2013中使用zlib和minizip**:为了在Visual Studio 2013中使用这两个库,首先你...

    java zipentry.jar 解决解压失败问题

    Java的`java.util.zip`包提供了对ZIP文件的支持,包括`ZipInputStream`和`ZipOutputStream`类用于读写ZIP文件,以及`ZipEntry`类来代表ZIP文件中的单个条目。当我们尝试用这些类解压含有中文名的文件时,如果未正确...

    c# 解压zip完整demo 带进度条

    `ZipArchive`是用于读写ZIP文件的主要类。你可以通过创建`ZipArchive`实例来打开一个ZIP文件,然后访问或修改其中的条目。例如: ```csharp using System.IO.Compression; // 打开一个ZIP文件 using (ZipArchive ...

    HttpDownLoad_通过http下载zip包_20200514.zip

    ZIP包内的文件可以通过各种编程语言的库进行解压,例如在Qt框架中,可以使用QZipReader和QZipWriter类来读写ZIP文件。 "升级"、"updata"和"update"标签表明这个HTTP下载可能与软件更新有关。许多软件会通过HTTP下载...

    文件的ZIP格式压缩和解压

    这些代码可能使用了某种编程语言(如C++、Python或Java),并封装了对ZIP文件格式的处理逻辑,包括读写ZIP文件头部信息、执行DEFLATE压缩和解压等核心函数。 6. 安全性与隐私: 尽管ZIP文件在传输和存储方面非常...

    Zip解压缩实例

    例如,zlib库主要用于数据压缩,而minizip库则扩展了zlib,增加了读写ZIP文件的能力。在VC工程中,我们需要链接这些库,并在源代码中调用相应的函数。 解压缩ZIP文件的基本步骤包括: 1. **初始化**:打开ZIP文件...

    CN.zip_zip

    在处理 ZIP 文件时,开发人员应当遵循最佳实践,例如使用已知安全的库(如 libarchive)来读写 ZIP 文件,避免因代码错误而引入漏洞。 5. **用户教育**:对于最终用户,他们需要知道不要随便下载和解压未知来源的 ...

    ZipStorerTest.zip_c压缩文件

    ZipStorer是一个开源的C#库,专门用于读写ZIP文件,不依赖.NET Framework的内置压缩功能。通过使用ZipStorer,开发者可以控制文件的压缩级别、添加注释、设置密码等高级特性。如果"ZipStorerTest"项目确实采用了...

    zip开源代码

    6. **使用`libzip`**:`libzip`是一个流行的C库,用于读写ZIP文件。它提供了一系列函数,如`zip_open`用于打开ZIP文件,`zip_fopen`用于打开ZIP内的文件,`zip_entry_read`用于读取数据,`zip_entry_write`用于写入...

    sys_decode_2.zip_MFC zip unzip_WebCamLib_Sample.zip_decode_mfc z

    ZLIB提供了C语言接口,可以在MFC中方便地集成,用于读写ZIP文件。 4. **UnzipFile.cpp和ZipFile.cpp**: 这两个文件很可能是实现ZIP文件解压和压缩功能的具体代码。`UnzipFile.cpp`可能包含了从ZIP文件中提取单个...

    zip压缩解压缩

    ZLIB提供了基本的压缩和解压缩功能,而MINIZIP则是在ZLIB基础上添加了读写ZIP文件的接口,使得操作ZIP文件更为便捷。 3. **压缩算法**:DEFLATE算法是ZIP文件最常使用的压缩方法,它结合了LZ77(一种滑动窗口压缩)...

    XceedZip.dll压缩解压工具

    能够把 Zip文件或内存缓存到新的或现有的 ...直接读写多个部分的 zip文件到硬盘。 从另一个 zip文件的内容或合并两个 zip文件到一起来更新一个 zip文件 可选择后台处理,使你的代码可以在 Xceed Zip工作时继续执行。

    各种zip压缩解压缩源码集合.zip

    zlib是一个跨平台的C库,提供了DEFLATE压缩和解压缩功能,同时也支持读写Zip文件。了解这些库的工作原理,通过阅读源码,有助于提升对压缩技术的理解。 5. **错误处理和性能优化**:源码集合中可能包括了错误处理...

    zifuchuan.zip_zip

    1. Java `java.util.zip`包的使用:理解`ZipInputStream`、`ZipOutputStream`和`ZipEntry`的API,掌握读写ZIP文件的方法。 2. 字符串处理:熟悉Java `String`类的各种方法,了解字符编码的概念,如ASCII、GBK、UTF-8...

    demo02.zip

    例如,Python中的`zipfile`模块提供了读写ZIP文件的功能,Java的`java.util.zip`包则提供了类似的支持。这些库允许程序自动化处理ZIP文件,包括创建、修改和提取内容。 总的来说,ZIP作为一种强大的数据压缩和归档...

    第6章.zip

    例如,Python中的`zipfile`模块可以方便地读写ZIP文件,进行压缩和解压缩操作。在Java中,我们可以使用`java.util.zip`包,而在.NET框架中,`System.IO.Compression`命名空间提供了类似的功能。 对于"第6章"这个...

    非常好的ZIP源代码用VC可以编译

    这些源代码可能包含了解压缩和打包ZIP文件所需的基本函数和类,支持读写ZIP文件、添加或删除文件等功能。 从标签“ZIP源代码”我们可以推断,这个压缩包的核心内容是与处理ZIP文件相关的编程资源。 压缩包内的文件...

Global site tag (gtag.js) - Google Analytics