设为首页 加入收藏

TOP

Java读取properties时路径注意问题
2014-11-23 22:59:27 来源: 作者: 【 】 浏览:7
Tags:Java 读取 properties 路径 注意 问题

先来看看建立的测试工程目录




属性文件我们放在包test下,当然了,一般在实际开发过程中不建议这样做,建立把属性文件放在src目录下,现在放在包下主要是便于了解路径的问题。


下面来看一段读取属性文件的代码,属性文件配置了一个类Hello的K-V键值,我们要从中读取并加载到内存中来。


ReadProperties.properties


v=com.luhy.test.Hello


Hello类:


package com.luhy.test;


public class Hello {
public void run(){
System.out.println("Hello");
}
}


ReadProperties.java


package com.luhy.test;


import java.util.Properties;


public class ReadProperties {
public static void main(String[] args) throws Exception{
String filename = "com/luhy/test/ReadProperties.properties";
Properties props = new Properties();
props.load(ReadProperties.class.getClassLoader().getResourceAsStream(filename));
String h = props.getProperty("v");
Object o = Class.forName(h).newInstance();
Hello hello = (Hello)o;
hello.run();

}
}


执行完打印输出:


Hello


下面再来看一下编译后的bin目录




可见编译后属性文件被自动放到相应的包内,当然了,这里的bin相当于源码中的src,实际开发中一般放在此src目录下,这样在发布项目时就不用折腾了。


说明:


1、props.load(ReadProperties.class.getClassLoader().getResourceAsStream(filename));意思是获得从Properties类获得类加载器(类加载器主要有四种,分别加载不同类型的类,加载只是把class文件放进内存,并没有产生对象),并把指定文件转化为流。这一步,有很多新手,直接往load()里填文件名或具体文件路径名,程序运行时会报错找不到指定路径。所以,一定要注意这点。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SSH框架集成JBPM4.4 下一篇Java实现MD5加密解密类

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: