黑马程序员技术交流社区
标题:
java properties 类加载 配置文件老出错
[打印本页]
作者:
张甲甲
时间:
2013-5-26 19:15
标题:
java properties 类加载 配置文件老出错
本帖最后由 张甲甲 于 2013-5-28 12:03 编辑
我想用Properties类的load方法加载一个配置文件。我是用的绝对路径,但还是提示找不到路径
代码如下: (大部分都是抛出异常,代码很短的 大家帮着看看 不胜感激)
public class Test8{
public static void main(String[] args) {
//新建一个Properties对象
Properties pro=new Properties();
try {
//用类加载器以流的方式把配置文件加载进来。
pro.load(new FileInputStream("com//itheima//MyPropertie.properties"));
//根据配置文件的key得到相应的value。
String str= (String) pro.get("className");
//根据类名得到DemoClass的Class对象
Class<?> demo=Class.forName(str);
//用反射机制得到run方法。
Method m=demo.getMethod("run", null);
//反射机制执行run方法,demo.newInstance()为初始化一个DemoClass类的对象。
m.invoke(demo.newInstance(), null);
//一下代码为捕获相应的异常
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/*
* DemoClass 类
* */
class DemoClass {
public void run()
{
System.out.println("welcome to heima!");
}
}
作者:
SOAR
时间:
2013-5-26 19:39
这个由于看不到你的文件结构,所以真的不好分析。
作者:
吕振中
时间:
2013-5-26 19:56
额,这个不懂!
作者:
xiewen
时间:
2013-5-27 19:27
你用的这个文件路径分明是相对路径,绝对路径有盘符名称,我再教你一种加载配置文件的方法:
把配置文件放在src目录下,就用下面这个加载方法
pro.load(Test8.class.getClassLoader().getResourceAsStream("MyPropertie.properties"));
黑马云青年为您解答
作者:
tshch1989
时间:
2013-5-27 23:27
("com//itheima//MyPropertie.properties")
路径名字中是斜杠方向反了;
("com\\itheima\\MyPropertie.properties")
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2