文件与流,课后作业压缩文件

Project

压缩文件代码:

//信1605-2 20163576 蔡逸飞;

package haha;

 

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

 

public class tiaoshi

{

         private void a(String filename,File inputfile) throws Exception

         {

                  ZipOutputStream out=new ZipOutputStream(new FileOutputStream(filename));

                  zip(out,inputfile,"");

                  System.out.println("压缩中...");

                  out.close();

         }

         private void zip(ZipOutputStream out,File f,String base) throws Exception

         {

                  if(f.isDirectory())

                  {

                          File[] f1=f.listFiles();

                          out.putNextEntry(new ZipEntry(base+"/"));

                          base=base.length()==0?"":base+"/";

                          for(int i=0;i<f1.length;i++)

                          {

                                   zip(out,f1[i],base+f1[i]);

                          }

                  }

                  else

                  {

                          out.putNextEntry(new ZipEntry(base));

                          FileInputStream in=new FileInputStream(f);

                          int b;

                          System.out.println(base);

                          while((b=in.read())!=-1)

                          {

                                   out.write(b);

                          }

                          in.close();

                  }

         }

         public static void main(String temp[])

         {

                  tiaoshi haha=new tiaoshi();

                  try

                  {

                          haha.a("d:/haha.zip",new File("d:/haha"));

                          System.out.println("压缩完成");

                  }

                  catch(Exception e)

                  {

                         

                  }

         }

}

截图:

原文地址:https://www.cnblogs.com/CHAHA123/p/7786536.html