求助:关于Zip压缩的问题

问题描述

importjava.io.*;importjava.util.*;importjava.util.zip.*;publicclassZipCompress{publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamf=newFileOutputStream("test.zip");CheckedOutputStreamcsum=newCheckedOutputStream(f,newAdler32());ZipOutputStreamzos=newZipOutputStream(csum);BufferedOutputStreamout=newBufferedOutputStream(zos);zos.setComment("AtestofJavaZipping");for(inti=0;i<args.length;i++){//inti=0;System.out.println("Writingfile"+args[i]);BufferedReaderin=newBufferedReader(newFileReader(args[i]));zos.putNextEntry(newZipEntry(args[i]));intc;while((c=in.read())!=-1)out.write(c);//zos.putNextEntry(newZipEntry(args[i]));in.close();}out.close();//为什么如何压缩两个文件及以上时,zip文件中只有最后一个文件成功写入内容????System.out.println("Checksum:"+csum.getChecksum().getValue());System.out.println("Readingfile");FileInputStreamfi=newFileInputStream("test.zip");CheckedInputStreamcsumi=newCheckedInputStream(fi,newAdler32());ZipInputStreamin2=newZipInputStream(csumi);BufferedInputStreambis=newBufferedInputStream(in2);ZipEntryze;//System.out.println("before:"+in2.getNextEntry());//System.out.println("before2:"+in2.getNextEntry());while((ze=in2.getNextEntry())!=null)//这部分程序运行时的问题?:程序执行完Readingfile后不是顺序执行write(x)????,为什么是完成输出Readingfile后才执行下一个while???另一问题:第二个while为什么一定要嵌套在第一个while里头。{System.out.println("Readingfile:"+ze);//System.out.println("12345667");intx;while((x=bis.read())!=-1)System.out.write(x);}}}

有两个问题:1、当运行程序时,如javaZipCompresstext1.txttext2.txt时,在压缩包test.zip里只有text2.txt成功写入文件。是怎么回事。(我是在linux下运行的)2、根据程序的命令行输出,如javaZipCompresstext1.txttext2.txt。怎么是同时输出了Readingfile:text1.txtReadingfile:text2.txt然后才是text1.txt和text2.txt的内容输出呢?谢谢!

时间: 2024-10-31 08:16:56

求助:关于Zip压缩的问题的相关文章

zip压缩解决文件名中文乱码问题

使用jdk自带的zip工具类Java.util.zip.ZipEntry,java.util.zip.ZipFile,java.util.zip.ZipInputStream,java.util.zip.ZipOutputStream 进行zip压缩时,没法解决文件名中文乱码问题 这里使用apache 旗下的commons-compress 库,官网是:http://commons.apache.org/proper/commons-compress/download_compress.cgi

不同的机器压缩后的ZIP压缩文件上传后,有的存在中文乱码,求帮忙分析分析。

问题描述 不同的机器压缩后的ZIP压缩文件上传后,有的存在中文乱码,求帮忙分析分析. 用了commons-compress-1.8.jar下的ZipArchiveInputStream 进行的压缩包解压处理,在不同机器上对同样文件进行压缩生成zip压缩包,有的机器生成的压缩包上传后中文就乱码,有的就不是乱码,求帮忙分析分析. 解决方案 7zip 压缩文件 分析

PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

 这篇文章主要介绍了PHP自带ZIP压缩.解压缩类ZipArchiv使用指南,十分详细,需要的朋友可以参考下     要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于win系统,直接去掉php_zip.dll 扩展的注释,然后重启http服务(IIS或Apache)即可 Linux还没有试验,理论上差别不会很大 功能: 1.解压缩zip文件 2.将文件压缩成zip文件 3.追

利用Java实现zip压缩/解压缩

压缩 利用Java实现zip压缩/解压缩(作者: 2000年07月06日 13:30) 由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节 省服务器的外存空间. Java 1.1实现了I/O数据流与网络数据流的单一接口,因此数据的压缩.网络传输和解 压缩的实现比较容易,下面介绍利用ZipEntry.ZipInputStream和ZipOutputStream三个Java 类实现zip数据压缩方式的编程方法. zip压缩文件结构:一个zip文件由多个entry组

python自动zip压缩目录的方法

  本文实例讲述了python自动zip压缩目录的方法.分享给大家供大家参考.具体实现方法如下: 这段代码来压缩数据库备份文件,没有使用python内置的zip模块,而是使用了zip.exe文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 # Hello, this script is written in Pyth

WinRAR如何生成ZIP压缩文件

  在WinRAR中已经内置有ZIP压缩器,只要选中文件后,点下工具栏上的"添加"按钮,并选择压缩包格式为ZIP即可生成ZIP格式的文件,免去了启动WinZIP的麻烦.

java基础----&gt;Zip压缩的使用(转)

java中提供了对压缩格式的数据流的读写.它们封装到现成的IO 类中,以提供压缩功能.下面我们开始java中压缩文件的使用.   目录导航: 关于压缩的简要说明 GZIP压缩文件的使用 ZIP压缩文件的使用 GZIP与ZIP压缩的比较 友情链接   关于压缩的简要说明 一. Java中有着压缩的类: CheckedInputStream GetCheckSum()为任何InputStream 产生校验和(不仅是解压) CheckedOutputStream GetCheckSum()为任何Out

在JAVA中解决Zip压缩乱码问题

Java自带的zip压缩工具,可以让我们方便的压缩与解压缩,但是就是默认编码UTF-8没法改(至少我没找到,如果谁找到了,别忘记告诉我,我也不想用第三方的Jar包),虽然使用Java写打压缩与解压缩没问题,但是中文字符在WinRAR里面全是乱码. 所以我采用了Ant包中的压缩功能. 多余的话不多说了,代码才是硬道理,直接上代码吧.顺便说一下,该程序依赖于ant包,但是如果你只用到压缩,你可以用WinRAR打开这个Ant.jar文件,删除org.apache.tools.zip包以外的所有clas

解压-java读取zip压缩文件里面二级文件夹目录内的文件的问题

问题描述 java读取zip压缩文件里面二级文件夹目录内的文件的问题 我想在不解压的条件下得到一个压缩文件夹内部的二级目录下的文件流,但是搜了好久也没找到 代码如下 import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; impo

如何从zip压缩文件中直接提取文件到内存缓冲区

问题描述 如何从zip压缩文件中直接提取文件到内存缓冲区 目前我正在做一个程序模块,需要从zip压缩文件中提取出某个文件到内存buffer.我尝试用zlib来提取,但是失败了.用好压打开那个压缩文件显示压缩算法是Store. 补充:后来我用zlib来提取一个压缩算法是deflate的zip压缩文件提取成功了.现在面临的问题是Store压缩算法的zip文件怎么提取呢? 解决方案 看来是zlib不支持算法