package com.itheima;import java.io.File;
import java.io.FileInputStream;
import java.lang.reflect.Method;
import java.util.Properties;/*
 * 8、 已知一个类,定义如下: package cn.itcast.heima;
 public class DemoClass {
 public void run()
 {
 System.out.println("welcome to heima!");
 }   
 }
 (1) 写一个Properties格式的配置文件,配置类的完整名称。
 (2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。
 */
class Test8 {
public static void main(String[] args) throws Exception {
loadFile();
} public static void loadFile() throws Exception {
Properties prop = new Properties();// 创建Properties加载配置文件
FileInputStream fis = new FileInputStream(new File("Test8.properties"));
prop.load(fis);
String name = prop.getProperty("a");
System.out.println(name);
Class<?> c = Class.forName(name);
DemoClass dc = (DemoClass) c.newInstance();
Method m = c.getMethod("run", null);
Object obj = m.invoke(dc, null);
if (fis != null) {
fis.close();
}
}
}