JavaWeb讀取資源文件的四種方式
阿新 • • 發佈:2018-09-06
資源 加載 java pro ets nbsp fault 及其 ces
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和流兩種方法的區別在於獲取流的方式不一樣
JavaWeb讀取資源文件的四種方式