Zip打包原代码

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.zip.Adler32;

import java.util.zip.CheckedOutputStream;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

 

public class Zip {

 public void ZipFiles(String file, String savepath) {

 try {

  File inFile = new File(file);

  FileOutputStream fout = new FileOutputStream(savepath);

  // 使用输出流检查

  CheckedOutputStream cs = new CheckedOutputStream(fout,new Adler32());

  // 声明输出zip流

  ZipOutputStream zout = new ZipOutputStream(new BufferedOutputStream(cs));

  // 写一个注释

  zout.setComment("This is the comment");

  zip(zout, inFile, "", cs);

  zout.close();

 } catch (Exception e) {

 System.err.println(e);

 }

 }

 

 private void zip(ZipOutputStream out, File inFile, String root,CheckedOutputStream cs) throws Exception {

 if (inFile.isDirectory()) {

  File[] files = inFile.listFiles();

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

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

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

   zip(out, files[i], root + files[i].getName(), cs);

  }

 }else{

  BufferedInputStream in = new BufferedInputStream(new FileInputStream(inFile));

  out.putNextEntry(new ZipEntry(root));

  int c;

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

  out.write(c);

  in.close();

 // System.out.println("Checksum::" + cs.getChecksum().getValue());

}

 }

 

 public static void main(String[] args){

new Zip().ZipFiles("E://BAK","E://BAK.ZIP");

 

 String a = "2010";

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy");

try {

System.out.println(sdf.parse(a));

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值