package com.itheima;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import cn.itcast.heima.DemoClass;
/**
* 第五题 已知一个类,定义如下:
package cn.itcast.heima;
public class DemoClass {
public void run()
{
System.out.println("welcome to heima!");
}
}
(1) 写一个Properties格式的配置文件,配置类的完整名称。
(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。
* @author My
*
*/
public class Test5 {
public static void main(String[] args) {
LoadProperties();
}
private static void LoadProperties() {
try {
//读取配置文件,获得Demo的路径
Properties properties = new Properties();
InputStream instream = Test5.class.getClassLoader().getResourceAsStream("config.properties");
properties.load(instream);
String classpath = properties.getProperty("class");
DemoClass demo = (DemoClass)Class.forName(classpath).newInstance();
demo.run();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
|
|