当我加载属性文件时,下面给出的代码返回null

时间:2015-06-01 12:05:54

标签: java

下面给出的代码示例返回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 ");
  }
 }
}

3 个答案:

答案 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,请右键单击项目>构建路径>配置构建路径>在源选项卡上添加文件夹)