下面给出的代码示例返回null值。 您参考的目录结构是: D:\ Postcard_workspace_new \ Postcard_workspace \ ConfigMigrationUtility \ ConstantFiles - >包含constants.properties文件
D:\ Postcard_workspace_new \ Postcard_workspace \ ConfigMigrationUtility \ src \ configmigrator \ utility - >包含以下给定的java类
代码:
public class PropertyUtil {
public static Properties prop;
public static Properties constantProp;
constantProp = new Properties();
public static void loadPropertyFile(String inputfilename) {
try {
// Loads the constants.properties file
InputStream constantPropFile = ClassLoader.class
.getResourceAsStream("/ConstantFiles/constants.properties");
System.out.println(constantPropFile);//prints null
constantProp.load(constantPropFile);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
log.equals("Constant Property file not found");
} catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
log.error("Can't Load constants.properties property
file ");
}
}
}
答案 0 :(得分:0)
将文件constants.properties
放在以下位置:
D:\Postcard_workspace_new\Postcard_workspace\ConfigMigrationUtility\src
使用以下方式访问它:
InputStream constantPropFile = ClassLoader.class.getResourceAsStream("/constants.properties");
答案 1 :(得分:0)
如果你在eclipse中工作,那么在src文件夹中包含该属性文件的文件夹。否则只需复制该属性文件并粘贴到src文件夹中。因为在运行时jvm在src文件夹中找到该文件。
答案 2 :(得分:0)
如果将“ConstantFiles”文件夹添加到项目构建路径,则可以使用ClassLoader.class访问它 .getResourceAsStream( “/ constants.properties”); (如果您正在使用eclipse,请右键单击项目>构建路径>配置构建路径>在源选项卡上添加文件夹)