Resources.getResourceAsStream用法
Resources(com.ibatis.common.resource.*)
Resources 類為從類路徑中加載資源,提供了易于使用的方法。處理 ClassLoader 是一項 富于挑戰的工作,尤其是應用服務器/容器的情況下。Resources 類試圖簡化這些工作,Resources 類常用于以下幾種情況:
1.從類路徑加載 SQL Map 配置文件(如 sqlMap-config.xml)。 2. 從類路徑加載 DAO Manager 配置文件(如 dao.xml)。 3. 從類路徑加載各種.properties 文件。加載一個資源有很多方式,包括:
1.對于簡單的只讀文本數據,加載為 Reader。
Reader getResourceAsReader(String resource);
2. 對于簡單的只讀二進制或文本數據,加載為 Stream。
3.對于可讀寫的二進制或文本文件,加載為 File。
File getResourceAsFile(String resource);/4. 對于只讀的配置屬性文件,加載為 Properties。
Properties getResourceAsProperties(String resource);/5. 對于只讀的通用資源,加載為 URL。
按以上的順序,Resources 類加載資源的方法如下:
在以上每個方法中,加載資源和加載 Resources 類的為同一個 ClassLoader,或者,如果 失敗,將使用系統的
ClassLoader。 在某些環境下(比如某些應用服務器), ClassLoader 可能是個麻煩事,您可以指定所使用的
ClassLoader(比如使用加載應用的 ClassLoader)。
上面每個方法都有相應把 ClassLoader 作為參數的方法。它們是:
Reader getResourceAsReader (ClassLoader classLoader, String resource); Stream getResourceAsStream (ClassLoader classLoader, String resource); File getResourceAsFile (ClassLoader classLoader, String resource); Properties getResourceAsProperties (ClassLoader classLoader, String resource); Url getResourceAsUrl (ClassLoader classLoader, String resource);以上方法的 resource 參數名稱應該是全限定名,加上全文件/資源名。
例如,如果在類路徑中有資源“com.domain.mypackage.MyPropertiesFile.properties”,您使用下面的代碼加載
String resource = “com/domain/mypackage/MyPropertiesFile.properties”;
Properties props = Resources.getResourceAsProperties (resource);
同樣地,您可以從類路徑加載 SQL Map 配置文件為一個 Reader。假設它在類路徑的
properties 目錄下(properties.sqlMap-config.xml)。
String resource = “properties/sqlMap-config.xml”; Reader reader =
Resources.getResourceAsReader(resource); SqlMapClient sqlMap =
XmlSqlMapBuilder.buildSqlMap(reader);
總結
以上是生活随笔為你收集整理的Resources.getResourceAsStream用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CMD命令之BAT脚本语法详解
- 下一篇: 几种常见的排序算法