使用反射獲取類加載器來讀取properties文件出現空指針異常,可以使用直接使用輸入流讀取properties文件,為什麼教學視頻中卻可以使用反射?另外問下怎麼在PC端提問,不是論壇發帖,單純懸賞C幣提問,我都是在手機上提,電腦上修改
@Test
public void getConnection() throws Exception {
/*
* 讀取配置文件來獲取數據庫連接
*/
Properties properties = new Properties();
String driverClass = null;
String jdbcUrl = null;
String user = null;
String password = null;
InputStream in = this.getClass().getClassLoader().getResourceAsStream("C:/Java/WprkSpace/JDBC/jdbc.properties");
properties.load(in);
driverClass = properties.getProperty("driver");
jdbcUrl = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
Driver driver = (Driver) Class.forName(driverClass).newInstance();
properties.put("user", user);
properties.put("password", password);
Connection connerction = driver.connect(jdbcUrl, properties);
System.out.println( connerction);
in.close();
}
讀取properties文件可以有多種方式,用IO或者用ClassLoader,絕對路徑的用IO,相對路徑可以用IO也可以用ClassLoader,因為相對路徑是相對於Classpath的。一般來說用到ClassLoader的話都是用的相對路徑了。