当前位置: 代码迷 >> Java相关 >> java读取properties配置文件的有关问题
  详细解决方案

java读取properties配置文件的有关问题

热度:7   发布时间:2016-04-22 20:47:56.0
java读取properties配置文件的问题
在网上搜索java如何读取properties配置文件,大概有两种方法:
1.第一种
public class Demo1 {

public void createBase(){
Properties p = new Properties();
try {
InputStream in = new FileInputStream("dbparam.properties");
p.load(in);
System.out.println("6");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这种方法怎么试都不行,抛出无法找到文件的异常

2.第二种
public class Demo1 {

public void createBase(){
Properties p = new Properties();
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream("dbparam.properties");
try {
p.load(in);
System.out.println("6");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这种方法就正常了,现在想问下第一种方法为什么不行?这两种方法有什么区别和用法需要注意的吗?
------解决思路----------------------
2种方式读取路径的方法不一样。this.getClass().getClassLoader() 这个你上网查查。
------解决思路----------------------
这应该就是路径问题吧!
name -
 the system-dependent file name.第一个FileInputStream的构造方法中name参数说明系统相关的文件名,是不是说要是绝对路径名啊?
第二种类加载器方式,一个项目中的所有类文件都要加载到JVM中才能运行,类加载器就是做这件事!既然class文件都可以加载,当然普通文件也可以加载!用这种方式会在项目中寻找所要加载的文件!
name -
 The resource name     name参数只是说资源名称,并不是像第一种说的系统相关文件


------解决思路----------------------
第一种方法,你把配置文件放到跟src 同目录的工程根目录下面就可以了

------解决思路----------------------
第一种把dbparam.properties放在Java文件编译出来的class的顶级目录下。
  相关解决方案