今天學習了java ResourceBundle類的內容,但一直還有一個問題沒有解決,就是它讀取資源文件路徑的問題.
以下是我的代碼:
我必需把兩個資源文件copy到classes根目錄下才行,我想資源文件是可以放在當前類路徑下面的,可是不太清楚如何讀取出來,ResourceBundle.getBundle("messages", local,
this.getClass().getClassLoader());方法好像只能讀根路徑下的資源,請教各位了!
以下是我的代碼:
1
package test.resource;
2
3
import java.util.Locale;
4
import java.util.ResourceBundle;
5
6
public class Test {
7
public static void main(String args[]) {
8
Test test = new Test();
9
ResourceBundle messages = test.loadResource();
10
System.out.println(messages.getObject("name"));
11
}
12
13
private ResourceBundle loadResource() {
14
Locale local = Locale.getDefault();
15
ResourceBundle messages = ResourceBundle.getBundle("messages", local,
16
this.getClass().getClassLoader());
17
return messages;
18
}
19
}
我的兩個資源文件messages_en_US.properties,messages_zh_CN.properties都在當前類路徑下面,可是這樣的話運行程序它就找不到資源文件,會報錯:Can't find bundle for base name messages, locale zh_CN
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

我必需把兩個資源文件copy到classes根目錄下才行,我想資源文件是可以放在當前類路徑下面的,可是不太清楚如何讀取出來,ResourceBundle.getBundle("messages", local,
this.getClass().getClassLoader());方法好像只能讀根路徑下的資源,請教各位了!