`
yzd
  • 浏览: 1819950 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Zip打包原代码

 
阅读更多
<p>
</p>
<p>import java.io.BufferedInputStream;</p>
<p>import java.io.BufferedOutputStream;</p>
<p>import java.io.File;</p>
<p>import java.io.FileInputStream;</p>
<p>import java.io.FileOutputStream;</p>
<p>import java.text.ParseException;</p>
<p>import java.text.SimpleDateFormat;</p>
<p>import java.util.zip.Adler32;</p>
<p>import java.util.zip.CheckedOutputStream;</p>
<p>import java.util.zip.ZipEntry;</p>
<p>import java.util.zip.ZipOutputStream;</p>
<p></p>
<p>public class Zip {</p>
<p>public void ZipFiles(String file, String savepath) {</p>
<p><span> </span> try {</p>
<p><span> </span>  File inFile = new File(file);</p>
<p><span> </span>  FileOutputStream fout = new FileOutputStream(savepath);</p>
<p><span> </span>  // 使用输出流检查</p>
<p><span> </span>  CheckedOutputStream cs = new CheckedOutputStream(fout,new Adler32());</p>
<p><span> </span>  // 声明输出zip流</p>
<p><span> </span>  ZipOutputStream zout = new ZipOutputStream(new BufferedOutputStream(cs));</p>
<p><span> </span>  // 写一个注释</p>
<p><span> </span>  zout.setComment("This is the comment");</p>
<p><span> </span>  zip(zout, inFile, "", cs);</p>
<p><span> </span>  zout.close();</p>
<p><span> </span> } catch (Exception e) {</p>
<p><span> </span> System.err.println(e);</p>
<p><span> </span> }</p>
<p>}</p>
<p></p>
<p>private void zip(ZipOutputStream out, File inFile, String root,CheckedOutputStream cs) throws Exception {</p>
<p><span> </span> if (inFile.isDirectory()) {</p>
<p><span> </span>  File[] files = inFile.listFiles();</p>
<p><span> </span>  out.putNextEntry(new ZipEntry(root + "/"));</p>
<p><span> </span>  root = root.length() == 0 ? "" : root + "/";</p>
<p><span> </span>  for (int i = 0; i &lt; files.length; i++) {</p>
<p><span> </span>  zip(out, files[i], root + files[i].getName(), cs);</p>
<p><span> </span>  }</p>
<p><span> </span> }else{</p>
<p><span> </span>  BufferedInputStream in = new BufferedInputStream(new FileInputStream(inFile));</p>
<p><span> </span>  out.putNextEntry(new ZipEntry(root));</p>
<p><span> </span>  int c;</p>
<p><span> </span>  while ((c = in.read()) != -1)</p>
<p><span> </span>  out.write(c);</p>
<p><span> </span>  in.close();</p>
<p><span> </span> // System.out.println("Checksum::" + cs.getChecksum().getValue());</p>
<p><span> </span> }</p>
<p>}</p>
<p></p>
<p>public static void main(String[] args){</p>
<p><span> </span> new Zip().ZipFiles("E://BAK","E://BAK.ZIP");</p>
<p><span> </span></p>
<p><span> </span> String a = "2010";</p>
<p><span> </span> SimpleDateFormat sdf = new SimpleDateFormat("yyyy");</p>
<p><span> </span></p>
<p><span> </span> try {</p>
<p><span> </span>System.out.println(sdf.parse(a));</p>
<p><span> </span>} catch (ParseException e) {</p>
<p><span> </span>// TODO Auto-generated catch block</p>
<p><span> </span>e.printStackTrace();</p>
<p><span> </span>}</p>
<p>}</p>
<p>}</p>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics