java获取classes下的配置文件

public static void main(String[] args) {
    // TODO Auto-generated method stub
     Properties prop = new Properties();// 属性集合对象   
     FileInputStream fis;
    try {
         InputStream ra = TestPath.class.getClassLoader().getResourceAsStream("conf/resource.properties");  
        //fis = new FileInputStream("conf/prop.properties");
         prop.load(ra);// 将属性文件流装载到Properties对象中   
         ra.close();// 关闭流   
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }// 属性文件输入流   

    String STR_PATH=prop.getProperty("STR_PATH");
    System.out.println("文件夹路径--》"+STR_PATH);

}

如果是web程序中,已经率先启动了spring容器,则可以用spring支持@value注解的方式来获取。
首先,在spring的配置文件中加上

<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:conf/*.properties" />

然后在代码中

@Value("${REDIS_TIME}")
private Integer REDIS_TIME;

即可

有一点需要注意的是,在多module的web工程中,比如web项目中,还有一个打成jar包的后台模块,那么这个后台模块的配置文件不要与web项目的web的配置文件重名。如果都设为resource.properties,那么后台模块读取资源时候,就会去读取web的资源文件,导致找不到后台模块需要的资源文件的内容!!!

猜你喜欢

转载自blog.csdn.net/andyzhu_2005/article/details/79290598