将.properties文件放在Eclipse项目中的位置?
我有一个非常简单的属性文件测试我试图工作:(以下是TestProperties.java)
package com.example.test; import java.util.ResourceBundle; public class TestProperties { public static void main(String[] args) { ResourceBundle myResources = ResourceBundle.getBundle("TestProperties"); for (String s : myResources.keySet()) { System.out.println(s); } } }
和TestProperties.properties在同一目录中:
something=this is something something.else=this is something else
我也保存为TestProperties_en_US.properties
当我从Eclipse运行TestProperties.java时,它找不到属性文件:
java.util.MissingResourceException: Can't find bundle for base name TestProperties, locale en_US
难道我做错了什么?
将它放在您的一个源路径的根级别,或者在调用getBundle
完全限定资源名称,例如
ResourceBundle myResources = ResourceBundle.getBundle("com.example.test.TestProperties");
有关更多信息ResourceBundle.getBundle(String, Locale, ClassLoader)
请参阅ResourceBundle.getBundle(String, Locale, ClassLoader)
的文档。
不要将您的propierties文件放入您的src文件夹! 显然这是有效的,但基本上这不是你应该如何处理你的问题。 在项目中创建一个新文件夹,例如“Resources”文件夹,将其添加到项目属性中的类路径中,并将除.java之外的所有文件放在那里。
我刚刚尝试解决这个问题,我发现在尝试运行项目之前必须刷新Eclipse的文件列表。 然后,您可以将文件放在基目录中并正常使用它们。
将TestProperties_en_US.properties(propery)文件放在src文件夹中,然后运行它将运行的程序
啊哈,谢谢你们。 这也有效。
package com.example.test; import java.util.ResourceBundle; public class TestProperties { public static void main(String[] args) { ResourceBundle myResources = ResourceBundle.getBundle(TestProperties.class.getCanonicalName()); for (String s : myResources.keySet()) { System.out.println(s); } } }