ResourceBundle读取资源文件的路径问题

本文探讨了Java中ResourceBundle类在加载不同语言资源文件时遇到的问题,特别是在指定资源文件路径方面。作者通过示例代码说明了资源文件放置位置对程序的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习了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
我必需把两个资源文件copy到classes根目录下才行,我想资源文件是可以放在当前类路径下面的,可是不太清楚如何读取出来,ResourceBundle.getBundle("messages", local,
    this.getClass().getClassLoader());方法好像只能读根路径下的资源,请教各位了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值