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。

Stream getResourceAsStream(String resource);

3.對於可讀寫的二進制或文本文件,加載為 File。

File getResourceAsFile(String resource);

4. 對於只讀的配置屬性文件,加載為 Properties。

Properties getResourceAsProperties(String resource);

5. 對於只讀的通用資源,加載為 URL。
按以上的順序,Resources 類加載資源的方法如下:

Url getResourceAsUrl(String resource);

在以上每個方法中,加載資源和加載 Resources 類的為同一個 ClassLoader,或者,如果 失敗,將使用系統的
ClassLoader。 在某些環境下(比如某些應用服務器), ClassLoader 可能是個麻煩事,您可以指定所使用的
ClassLoader(比如使用加載應用的 ClassLoader)。
上面每個方法都有相應把 ClassLoader 作為參數的方法。它們是:

1:Reader getResourceAsReader (ClassLoader classLoader, String resource); 
2:Stream getResourceAsStream (ClassLoader classLoader, String resource); 
3:File getResourceAsFile (ClassLoader classLoader, String resource); 
4:Properties getResourceAsProperties (ClassLoader classLoader, String resource);
5: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);
---------------------
作者:just want to know
來源:CSDN
原文:https://blog.csdn.net/dreamzuora/article/details/80354601
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM