什么叫文件中读出内容,压到zip中去,zip中只能圧文件,还没听说过可以圧文件里的内容的.

解决方案 »

  1.   

    转:package com.jcc.tijtest.chap122;import java.io.*;
    import java.util.*;
    import java.util.zip.*;/**
     * @author JCC
     *
     * ¸ü¸ÄËùÉú³ÉÀàÐÍ×¢Ê͵ÄÄ£°åΪ
     * ´°¿Ú > Ê×Ñ¡Ïî > Java > ´úÂëÉú³É > ´úÂëºÍ×¢ÊÍ
     */
    public class ZipCompress { public static void main(String[] args) 
    throws Exception{
    String FileName ="d:\\testPkg.zip" ;
    String FileName1 ="d:\\test1.txt" ;
    String FileName2 ="d:\\test2.txt" ;
    FileOutputStream f = new FileOutputStream(FileName) ; 
    CheckedOutputStream csum = new CheckedOutputStream(f , new Adler32()) ;
    ZipOutputStream zos = new ZipOutputStream(csum) ;
    BufferedOutputStream out = new BufferedOutputStream(zos) ;

    zos.setComment("zos.setcommment") ;

    {

    BufferedReader in = new BufferedReader(new FileReader(FileName1)) ;
    zos.putNextEntry(new ZipEntry("test1.txt")) ;
    int c ;
    while((c=in.read())!=-1)
    out.write(c) ;
    in.close() ;

    }

    //out.close() ;
    {
    //the second file
    BufferedReader in2 = new BufferedReader(new FileReader(FileName2)) ;
    zos.putNextEntry(new ZipEntry("test2.txt")) ;
    int c ;
    while((c=in2.read())!=-1)
    out.write(c) ;
    in2.close() ;

    }
    out.close() ;
    System.out.println("checksum:"+csum.getChecksum().getValue()) ;

    FileInputStream fi = new FileInputStream("d:\\testpkg.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(ze) ;
    int x ;
    while((x=bis.read())!=-1){
    System.out.println((char)x) ;
    }
    }
     
    }}
      

  2.   

    下班了。明天给你写个。java.util.zip.*;其实重文件中读出 StringBuffer 压缩成 byte[]
      

  3.   

    看到过读jar的程序,读zip的学习。
      

  4.   

    不对啊,zip的文件没错,可是在解压时就不对了,将同目录下的所有文件放出来,晕.
      

  5.   

    我就知道用java.util.zip包呵呵学习ing