Java 当我加载属性文件时,下面给定的代码返回null
下面给出的代码示例返回空值。 供您参考的目录结构为: D:\Postcard\u workspace\u new\Postcard\u workspace\ConfigMigrationUtility\ConstantFiles->包含constants.properties文件 D:\Postcard\u workspace\u new\Postcard\u workspace\ConfigMigrationUtility\src\configmigrator\utility->包含以下给定java类 代码:Java 当我加载属性文件时,下面给定的代码返回null,java,Java,下面给出的代码示例返回空值。 供您参考的目录结构为: D:\Postcard\u workspace\u new\Postcard\u workspace\ConfigMigrationUtility\ConstantFiles->包含constants.properties文件 D:\Postcard\u workspace\u new\Postcard\u workspace\ConfigMigrationUtility\src\configmigrator\utility->包含以下给定j
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 ");
}
}
}
将文件
constants.properties
放置在以下位置:
D:\Postcard_workspace_new\Postcard_workspace\ConfigMigrationUtility\src
并使用以下命令访问它:
InputStream constantPropFile = ClassLoader.class.getResourceAsStream("/constants.properties");
如果您在eclipse中工作,那么将该属性文件的文件夹包括在src文件夹中。否则,只需复制该属性文件并粘贴到src文件夹中。因为jvm在运行时会在src文件夹中找到该文件。如果将“ConstantFiles”文件夹添加到项目构建路径,则可以使用ClassLoader.class访问它 .getResourceAsStream(“/constants.properties”);
(如果您使用的是eclipse,请右键单击“项目>生成路径>配置生成路径>源代码”选项卡上的“添加文件夹”)
D:\Postcard\u workspace\u new\Postcard\u workspace\ConfigMigrationUtility\ConstantFiles
不在类路径上,除非您进行了配置。这是类路径的开始。这不包括您试图访问的文件。那么我需要做什么?