当前位置: 首页 > 面试题库 >

从Java包中加载属性文件

归明诚
2023-03-14
问题内容

我需要读取埋在我的包结构中的属性文件com.al.common.email.templates

我已经尝试了一切,但无法解决。

最后,我的代码将在servlet容器中运行,但是我不想依赖任何容器。我写了JUnit测试用例,它需要在两个方面都能工作。


问题答案:

从包中的类加载属性时,com.al.common.email.templates可以使用

Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream("foo.properties");
prop.load(in);
in.close();

(添加所有必要的异常处理)。

如果你的类不在该程序包中,则需要稍微不同地获取InputStream:

InputStream in = 
 getClass().getResourceAsStream("/com/al/common/email/templates/foo.properties");

相对路径(那些没有前导“/”)中getResource()/ getResourceAsStream()该资源将相对于它表示包的类是在目录中搜索平均值。

使用java.lang.String.class.getResource("foo.txt")/java/lang/String/foo.txt在类路径上搜索(不存在的)文件

使用绝对路径(以’/’开头的绝对路径)表示当前软件包将被忽略。



 类似资料:
  • 我在尝试添加

  • 问题内容: 我手动将属性文件注入到jar中。如何从Java 1.7之前的jar文件中加载属性?我尝试了许多解决方法,但到目前为止没有任何效果。 关于它有很多问题,但是所有内容都集中在Java 1.7的ClassLoader方法上。 问题答案: 当您在类路径中或jar文件中具有属性文件时,它将成为资源。其他任何情况都是一个简单的文件。 在打包jar文件之前,需要做的是将属性文件所在的文件夹(即myp

  • 问题内容: 我在程序中需要一个配置文件来存储一些信息,我看到了一些属性文件的示例,并试图使用它们,但是每当在NetBeans上尝试第二行时,我都会得到“ Package sortConfig不存在”,“ >预期”和“类型非法开始”。 问题是我已经看到大约10个示例都以相同的方式执行此操作,而我不知道发生了什么。 任何帮助,将不胜感激 我的.java类和我的属性文件位于src的同一包文件夹中 问题答

  • 我有两个项目,CarpoolDB和拼车。 CarpoolDB:包含后端的东西 拼车应用程序上下文。xml server.properties 我做了一罐carpoolDB和地方拼车应用程序 拼车:包含UI东西和后端联系人carpoolDB jar,并具有 carpool-application-context1.xml spring-servlet.xml 拼车。性质 现在,我有一个类com.on

  • 是否可以从服务器加载Spring Boot配置。json文件,而不是。亚马尔。房产?从文档来看,这是不支持开箱即用的——我想知道这是否可能,如果可能的话,人们将如何着手呢?

  • 问题内容: 在上面指出的行中发现异常。无论语言是否是有效的属性文件,我都会在同一行上捕获相同的异常。 问题答案: 改成: