今天学习了java ResourceBundle类的内容,但一直还有一个问题没有解决,就是它读取资源文件路径的问题.
以下是我的代码:
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());方法好像只能读根路径下的资源,请教各位了!