java基础——碰到的问题——找不到资源文件

本文分享了在使用Java进行国际化与格式化过程中遇到的资源文件加载问题及解决方案。问题表现为程序无法找到指定的资源文件,通过调整资源文件的位置至正确的类加载路径下得以解决。

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

学习《疯狂java讲义》第7.6节——国际化与格式化,遇到一个问题。

按照教材上的方法写了两个资源文件,运行程序的时候报异常:

Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name mess, locale zh_CN


百度了一下,把问题给解决了。

原先我是把资源文件mess_zh_CN.properties直接放在了工程目录下

后来把这个文件拖到默认的包(与使用这个资源文件的Hello.java在一个包中)中,结果OK



原因:

(1)资源文件必须在类加载路径下,才能被找到。

(2)默认设置下,Eclipse会把源目录(src文件夹)下非java文件都拷贝到输出目录(bin文件夹)。在程序运行的时候,默认以输出目录(bin文件夹)作为classpath。


所以,如果把mess_zh_CN.properties放在工程目录下,它并不会被拷贝到输出目录,程序运行的时候就找不到这个文件。

可以自己做个测试:

(1)打开bin目录(备注:默认设置下,Eclipse界面不显示输出目录,需要用Windows的资源浏览器查看bin文件夹——最普通的查看方式)。

(2)在Eclipse中,在src文件夹下新建一个test.properties文件。可以看到,test.properties立即出现在了bin文件夹中。如果放到src的子文件夹下,还能保持目录结构不变。

(3)把test.properties拖到工程目录下,它立马就从bin文件夹下消失了。


以上截图为:Windows环境,Eclipse 4.3




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值