无法在 Java 中加载属性文件
我正在尝试加载属性文件。属性文件位于应用程序的类路径中。
Properties p = new Properties();
p.load(new FileInputStream("classpath:mail.properties"));
System.out.println(p.get("hi"));
现在我说类路径,因为另一个名为 x.properties 的文件在 xml 文件中被引用,就像这样
<property name="x">
<util:properties location="classpath:x.properties" />
</property>
我将 mail.properties 放在与 x.properties 相同的文件夹中,但我的 Java 程序无法找到它?知道我缺少什么吗?
I am trying to load a properties file. The properites file is in the class path of the application.
Properties p = new Properties();
p.load(new FileInputStream("classpath:mail.properties"));
System.out.println(p.get("hi"));
Now I say classpath, because another file called x.properties is referred in an xml file like this
<property name="x">
<util:properties location="classpath:x.properties" />
</property>
I placed my mail.properties in the same folder as x.properties, but my Java program is not able to find it ? Any idea what I am missing ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
仅仅因为处理 XML 文件的某个程序喜欢语法
classpath:x.properties
并不意味着它是 Java 中普遍接受的语法 !如果您向
FileInputStream
提供“classpath:x.properties”,它将查找名为classpath:x.properties< /代码>。 (检查该特定构造函数的文档。)
尝试提供该文件的完整路径。如果该文件恰好位于您的类路径上,您可以使用类似的东西
Just because some program processing that XML file likes the syntax
classpath:x.properties
doesn't mean that it is a universally accepted syntax in Java!If you provide
"classpath:x.properties"
to aFileInputStream
it will look for a file namedclasspath:x.properties
. (Check the documentation of that particular constructor.)Try providing the full path to that file. If the file happens to be on your class path, you could use something like
如果 mail.properties 确实在您的类路径上,那么您将有更好的运气通过类加载器加载它:
if mail.properties is indeed on your classpath, you will have better luck loading it via a class loader: