我想通流读取properties文本里面的value,然后将value放到Class.forName()中,以此实现修改文本内容便可创建不同的对象,但是当我将通过properties.getProperty("ClassName")获取到的value放到Class.forName()中便会报错。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class Test03 {
public static void main(String[] args) throws Exception {
//创建流通道
FileInputStream fis = new FileInputStream("E:\\exe\\Class.properties");
//创建Properties MAP集合
Properties properties = new Properties();
properties.load(fis);
//通过key获取value
String s1= properties.getProperty("ClassName");
System.out.println(s1);//"com.test.ClassTest.Test02"
//再用反射通过value获取对象
Class aClass = Class.forName(s1);
Object o = aClass.newInstance();
System.out.println(o);
//关闭流
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}