JavaWeb讀取資源文件的四種方式


1. ServletContext

1. 調用getResourcesAsStream方法獲取輸入流, 相對於webroot, 不用加/
2. 讀取任何類型的文件
3. *只能在web環境下使用

InputStream in = this.getServletContext().getResourceAsStream("WEB-INF/classes/config/db.properties");

2. 類加載器

1. 相對於類路徑, 可以獲取類路徑下及其子包路徑下的資源文件
2. 可以用在非web環境下
3. 讀取任何類型的文件

InputStream in = ReadFileDemo2.class.getResourceAsStream("/config/db.properties");

3. 流

1. 通過ServletContext的getRealPath方法獲取文件真實路徑, 然后操作文件流, 相對於webroot. 不用加/

String realPath = this.getServletContext().getRealPath("WEB-INF/classes/config/db.properties");

4. ResourceBundle

新建4個資源文件

1 my_en_US.properties:cancelKey=cancel
2 my_zh_CN.properties:cancelKey=\u53D6\u6D88(取消)
3 my_zh.properties:cancelKey=\u53D6\u6D88zh(取消zh)
4 my.properties:cancelKey=\u53D6\u6D88default(取消default)

使用ResourceBundle讀取資源文件

1 ResourceBundle bundle = ResourceBundle.getBundle("my", new Locale("zh", "CN"));
2 String cancel = bundle.getString("cancelKey");
3 System.out.println(cancel);

1. 可以用在非web環境下
2. 只能讀取類路徑中的properties文件

 

備注: ServletContext和流兩種方法的區別在於獲取流的方式不一樣


免責聲明!

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



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