java 把文件打成zip包


package tw.com.trustview.tool.sync.common;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class TestZip {
    public static void main(String[] args) {
        List<String> list =new ArrayList();
          String[] strs = new String[5];
          StringBuffer sb=new StringBuffer();
          try{
              sb.append("D:/doc1/aa.xlsx,");
              sb.append("D:/doc1/bb.xlsx,");
              sb.append("D:/doc1/cc.xlsx,");
              sb.append("D:/doc1/dd.xlsx,");
              sb.append("D:/doc1/ee.xlsx,");
//              list.add("D:/doc1/aa.xlsx");
//              list.add("D:/doc1/bb.xlsx");
//              list.add("D:/doc1/vv.xlsx");
//              list.add("D:/doc1/dd.xlsx");
//              list.add("D:/doc1/ee.xlsx");
             //文件的列表 和 将要打成的zip文件的名称
//              String[] files = (String[]) list.toArray();
//              System.out.println(files);
                writeZip(sb,"newZipFile");
            } catch ( IOException e ) {
                e.printStackTrace();
            }
    }
    private static void writeZip(StringBuffer sb,String zipname) throws IOException {
        String[] files = sb.toString().split(",");
        System.out.println(files);
        OutputStream os = new BufferedOutputStream( new FileOutputStream( zipname+".zip" ) );
        ZipOutputStream zos = new ZipOutputStream( os );
        byte[] buf = new byte[8192];
        int len;
        for (int i=0;i<files.length;i++) {  
            File file = new File( files[i] );
            if ( !file.isFile() ) continue;
            ZipEntry ze = new ZipEntry( file.getName() );
            zos.putNextEntry( ze );
            BufferedInputStream bis = new BufferedInputStream( new FileInputStream( file ) );
            while ( ( len = bis.read( buf ) ) > 0 ) {
                zos.write( buf, 0, len );
            }
            zos.closeEntry();
        }
//        zos.setEncoding("GBK");
        zos.closeEntry();
        zos.close();
        
        for(int i=0;i<files.length;i++){
         System.out.println("------------"+files );
         File file= new File(files[i] );
         file.delete();
        }
    }

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM