加载驻留在包结构深处的属性文件可能是一个挑战。假设您要访问位于 com.al.common.email.templates 中的属性文件。
要解决此问题,请在指定包的类中使用以下代码:
<code class="java">Properties prop = new Properties(); InputStream in = getClass().getResourceAsStream("foo.properties"); prop.load(in); in.close();</code>
记住要包含适当的异常处理。
如果你的类不在所需的包内,请调整InputStream获取:
<code class="java">InputStream in = getClass().getResourceAsStream("/com/al/common/email/templates/foo.properties");</code>
注意getResource()或getResourceAsStream()中的相对路径在您的类所在的包中解决。因此,java.lang.String.class.getResource("foo.txt") 搜索不存在的文件/java/lang/String/foo.txt。绝对路径(以“/”开头)绕过当前包。
以上是如何从 Java 包中加载属性文件?的详细内容。更多信息请关注PHP中文网其他相关文章!