Apache Commons 庫:用了都說好!

來源:互聯網
上載者:User
文章目錄
  • 1. commons-io
  • 2. commons-cli
  • 3. commons-lang
  • 4. commons-configuration

最近自己寫程式,發現 Apache Commons(http://commons.apache.org/) 庫真的很好用,能夠簡化 Java 中很多繁瑣的任務,幫我們造了很多輪子。

1. commons-io

跟 IO 有關的工具方法。

 

例1:關閉流

BufferedWriter out = null;<br />try {<br /> out = new BufferedWriter(...);<br /> out.write(...);<br /> ...<br />}<br />catch (IOException e) {<br /> e.printStackTrace();<br />}<br />finally {<br /> if (out != null) {<br /> try {out.close();} catch (IOException e) {}<br /> }<br />}

上面 finally 中的是關閉流的常規寫法,用 IOUtils 只需寫成:

IOUtils.closeQuietly(out);

 

例2:讀檔案

List<String> = FileUtils.readLines(File); // 將檔案的內容按行讀到 List 裡面<br />byte[] = FileUtils.readFileToByteArray(File); // 也可以讀到 byte 數組裡面

也可以直接從 InputStream 讀取。

 

例3:遍曆目錄

 

commons-io 提供了 DirectoryWalker 用於遞迴遍曆目錄,你的程式只需繼承 DirectoryWalker ,然後實現一些方法即可。“目錄行走者”,這個名字也很 cool

2. commons-cli

commons-cli 可以協助你解析命令列參數。

 

你需要寫的只是像這樣的代碼:

// Options 用來裝所有的參數<br />Options options = new Options();</p><p>// 添加參數,指定參數屬性<br />options.addOption("t", false, "display current time");</p><p>// 解析參數<br />CommandLineParser parser = new PosixParser();<br />CommandLine cmd = parser.parse(options, args);</p><p>// 讀取解析結果<br />if(cmd.hasOption("t")) {<br />...<br />}<br />else {<br />...<br />}

而且還有 HelpFormatter 幫你自動產生一份命令列選項的協助,相當貼心。

3. commons-lang

提供很多基礎的工具方法,增強了 java.lang 包中的類。用的比較多的是關於字串處理的,即 StringUtils 和 StringEscapeUtils

我用到的是 StringEscapeUtils.escapeHtml(String):將字串中的 HTML 特殊字元(<>"等)用 HTML 實體替換。

 

還有 StrTokenizer :可以進行比 StringTokenizer 更複雜的文法解析。

 

4. commons-configuration

沒用過,但看起來也很不錯。提供統一的介面,從各種地方讀取配置,比如:properties 檔案、Windows INI 檔案、XML 文檔、Applet/Servlet 參數等。

PS. 另外,commons-pool 提供了一個通用的對象池實現,我準備在另一篇文章中專門介紹。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.