利用JAVA API函数实现数据的压缩与解压缩:
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=13451&tstart=0

解决方案 »

  1.   

    import java.io.*;
    import java.util.*;
    import java.util.zip.*;public class ZipCompress {  
      public static void main(String[] args) 
      throws IOException {
       //Zip
        FileOutputStream f = 
         new FileOutputStream("zip_test.zip");
        CheckedOutputStream chos = 
         new CheckedOutputStream(f, new Adler32());
        ZipOutputStream zop = new ZipOutputStream(chos);
        for(int i = 0; i < args.length; i++){
         zop.putNextEntry(new ZipEntry(args[i]));
         FileInputStream fs = 
         new  FileInputStream(args[i]);
         BufferedInputStream bf = 
         new BufferedInputStream(fs);
         int temp;
         while((temp = bf.read()) != -1){
         zop.write(temp);
         }
        }
        zop.close();
        
        
        //UNZip         
        CheckedInputStream ck = new CheckedInputStream(
         new BufferedInputStream(
         new FileInputStream("zip_test.zip")), 
         new Adler32());
        ZipInputStream zis = new ZipInputStream(ck);
             
        ZipEntry ze = zis.getNextEntry();
        while(ze != null){
         System.out.println(ze);
         FileWriter fw = new FileWriter("backup_" + ze.getName());
         BufferedWriter bw = new BufferedWriter(fw);
        
         int temp = 0;
         while((temp = (int)zis.read()) != -1){
         bw.write(temp);
         //System.out.write(temp);
         }
         bw.close();
         ze = zis.getNextEntry();
        }
        zis.close();
        ck.close();
    }

    ===================================================1要压缩的文件名从args[]中得到,所以你得输入文件名
      

  2.   

    楼上的大哥,我是要在DOS下用就能实现的啊,要压缩的文件名从args[]中得到,所以你得输入文件名,这个在哪里输啊?
      

  3.   

    晕死,你不会连在Dos下用----javac XXXXX.java 这里输入args都不会吧