今天學(xué)習(xí)了java ResourceBundle類的內(nèi)容,但一直還有一個(gè)問(wèn)題沒(méi)有解決,就是它讀取資源文件路徑的問(wèn)題.
以下是我的代碼:
我必需把兩個(gè)資源文件copy到classes根目錄下才行,我想資源文件是可以放在當(dāng)前類路徑下面的,可是不太清楚如何讀取出來(lái),ResourceBundle.getBundle("messages", local,
this.getClass().getClassLoader());方法好像只能讀根路徑下的資源,請(qǐng)教各位了!
以下是我的代碼:
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
}
我的兩個(gè)資源文件messages_en_US.properties,messages_zh_CN.properties都在當(dāng)前類路徑下面,可是這樣的話運(yùn)行程序它就找不到資源文件,會(huì)報(bào)錯(cuò):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

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