偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

軟件開(kāi)發(fā)工具推薦:ZeroTurnaround ZIP類庫(kù)

開(kāi)發(fā) 后端
在Java平臺(tái)上有很多官方的和非官方、第三方的壓縮工具包,它們各有各的長(zhǎng)處,比如Oracle官方的java.util.zip 類庫(kù),Apache網(wǎng)站上的Apache Commons Compress 類庫(kù),或者Chilkat Java Zip 類庫(kù),但總體說(shuō)來(lái),這些類庫(kù)提供都是低級(jí)別的API,操作起來(lái)都不是很方便。

在Java平臺(tái)上有很多官方的和非官方、第三方的壓縮工具包,它們各有各的長(zhǎng)處,比如Oracle官方的java.util.zip 類庫(kù),Apache網(wǎng)站上的Apache Commons Compress 類庫(kù),或者Chilkat Java Zip 類庫(kù),但總體說(shuō)來(lái),這些類庫(kù)提供都是低級(jí)別的API,操作起來(lái)都不是很方便,而今天推薦給大家的這個(gè)叫做ZeroTurnaround(簡(jiǎn)稱zt-zip)的壓縮類庫(kù)的特點(diǎn)就是方便、簡(jiǎn)易,我們可以比較一下,如果用標(biāo)準(zhǔn)的Java類庫(kù)壓縮一個(gè)目錄里的所有文件,你需要寫出的代碼大概是這樣:

  1. File dir = new File("demo"); 
  2. ZipOutputStream out = new ZipOutputStream(new FileOutputStream("demo.zip")); 
  3. try { 
  4.   File[] files = dir.listFiles(); 
  5.   for (int i = 0; i < files.length; i++) { 
  6.     File file = files[i]; 
  7.     ZipEntry entry = new ZipEntry(file.getName()); 
  8.     entry.setSize(file.length()); 
  9.     entry.setTime(file.lastModified()); 
  10.     out.putNextEntry(entry); 
  11.     FileInputStream in = new FileInputStream(file); 
  12.     try { 
  13.       IOUtils.copy(in, out); 
  14.     } finally { 
  15.       IOUtils.closeQuietly(in); 
  16.     } 
  17.     out.closeEntry(); 
  18.   } 
  19. finally { 
  20.   IOUtils.closeQuietly(out); 

而使用zt-zip工具包,你的代碼就變成了只有一行:

  1. ZipUtil.pack(new File("demo"), new File("demo.zip")); 

你不需要自己去關(guān)閉文件的數(shù)據(jù)流,這個(gè)類庫(kù)的接口自動(dòng)替你你做了這些。

可能經(jīng)常做Java壓縮編程的人會(huì)提到另外一個(gè)壓縮類庫(kù):TrueZIP,這也是一個(gè)非常好的類庫(kù),而zt-zip跟它比起來(lái)的一個(gè)優(yōu)勢(shì)是:消耗內(nèi)存很少,這是因?yàn)門rueZIP大量的使用了虛擬機(jī)的堆內(nèi)存,而zt-zip卻是只是以數(shù)據(jù)流的形式進(jìn)行操作,當(dāng)然這也是zt-zip的API提供的功能很有針對(duì)性、不是TrueZIP API那樣通用的原因。

你可以在Github上下載這個(gè)類庫(kù)。

原文鏈接:http://www.aqee.net/development-tools-zt-zip/

【編輯推薦】

  1. Apache UIMA Java SDK 2.4.0 發(fā)布 附下載
  2. Argparse4j 0.2 發(fā)布 Java命令行解析庫(kù)
  3. Sanaware Java Docking 1.5.0 發(fā)布 附下載
  4. JavaMelody 1.33.0 發(fā)布 Java應(yīng)用監(jiān)控
  5. Java應(yīng)用服務(wù)器 Eclipse Virgo 3.0.2發(fā)布
責(zé)任編輯:林師授 來(lái)源: 外刊IT評(píng)論
相關(guān)推薦

2012-02-07 09:07:37

firefox

2011-12-29 09:06:45

軟件

2014-04-28 09:35:19

紅帽開(kāi)源軟件

2020-05-31 14:02:50

人工智能開(kāi)發(fā)工具

2010-06-04 17:26:53

Linux 開(kāi)發(fā)工具

2013-11-21 10:21:25

2010-03-16 09:41:57

Windows Pho

2019-12-26 09:52:40

工具代碼開(kāi)發(fā)

2010-09-17 10:18:59

ODTOPhone

2013-04-27 15:13:23

跨平臺(tái)

2010-07-06 15:30:12

RationalJazz

2011-08-05 14:34:13

2014-04-02 09:03:39

紅帽

2010-05-25 13:28:17

WinSDK 7.1.NETWindow 7

2010-07-14 13:57:30

Perl開(kāi)發(fā)工具

2019-04-23 13:51:43

程序員技能開(kāi)發(fā)者

2010-05-28 13:38:29

Linux開(kāi)發(fā)工具

2021-02-05 23:23:55

Web開(kāi)發(fā)工具

2011-05-11 09:03:33

javascript開(kāi)發(fā)工具

2021-10-19 09:44:22

開(kāi)發(fā)測(cè)試工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)