无法在Java中加载属性文件
我正在尝试加载属性文件。 适当的文件位于应用程序的类路径中。
Properties p = new Properties(); p.load(new FileInputStream("classpath:mail.properties")); System.out.println(p.get("hi"));
现在我说classpath,因为另一个名为x.properties的文件在这样的xml文件中被引用
我将mail.properties放在与x.properties相同的文件夹中,但我的Java程序无法找到它? 知道我错过了什么吗?
仅仅因为某些程序处理XML文件喜欢语法classpath:x.properties
并不意味着它是Java中普遍接受的语法!
如果向FileInputStream
提供"classpath:x.properties"
,它将查找名为 classpath:x.properties
的文件 classpath:x.properties
。 (查看该特定构造函数的文档。)
尝试提供该文件的完整路径。 如果文件恰好在您的类路径上,您可以使用类似的东西
p.load(getClass().getResourceAsStream("mail.properties"));
如果mail.properties确实在你的类路径上,你将有更好的运气通过类加载器加载它:
Properties p = new Properties(); InputStream is = getClass().getClassLoader().getResourceAsStream("mail.properties"); p.load(is);