`
zxs19861202
  • 浏览: 909365 次
  • 性别: Icon_minigender_1
  • 来自: 湖北—》上海
社区版块
存档分类
最新评论

java压缩文件的代码

阅读更多

import java.io.File;
import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载

import java.io.FileInputStream;
import
 java.io.FileOutputStream;
import
 java.util.zip.ZipInputStream;
import
 java.util.zip.ZipEntry;

public class CompressBook 
{
    
public CompressBook() {}


    
/**//*
    * inputFileName 输入一个文件夹
    * zipFileName 输出一个压缩文件夹
    
*/

    
public void zip(String inputFileName) throws Exception {
        String zipFileName 
= "c:\\test.zip"//打包后文件名字

        System.out.println(zipFileName);
        zip(zipFileName, 
new
 File(inputFileName));
    }


    
private void zip(String zipFileName, File inputFile) throws Exception {
        ZipOutputStream out 
= new ZipOutputStream(new
 FileOutputStream(zipFileName));
        zip(out, inputFile, 
""
);
        System.out.println(
"zip done"
);
        out.close();
    }


    
private void zip(ZipOutputStream out, File f, String base) throws Exception {
        
if (f.isDirectory()) 
{
           File[] fl 
=
 f.listFiles();
           out.putNextEntry(
new ZipEntry(base + "/"
));
           base 
= base.length() == 0 ? "" : base + "/"
;
           
for (int i = 0; i < fl.length; i++
{
           zip(out, fl[i], base 
+
 fl[i].getName());
         }

        }
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){
        CompressBook book 
= new
 CompressBook();
        
try 
{
           book.zip(
"c:\\c");//你要压缩的文件夹

        }
catch (Exception ex) {
           ex.printStackTrace();
       }

    }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics