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

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

下面给出的代码示例返回空值。 供您参考的目录结构为: 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类

代码:

 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
不在类路径上,除非您进行了配置。这是类路径的开始。这不包括您试图访问的文件。那么我需要做什么?