讀取properties配置檔案路徑找不到的解決方法
阿新 • • 發佈:2018-12-12
public class DB_connection { String JDBC_DRIVER;//="com.mysql.jdbc.Driver"; String DB_URL;// = "jdbc:mysql://localhost:3306/promotion_website?useUnicode=true&characterEncoding=UTF-8"; String FILENAME = "/database.properties"; String USER;// = "root"; String PASS;// = "mysql"; Connection conn = null; public DB_connection() { try { Properties prop = new Properties(); String FILE_PATH = this.getClass().getClassLoader().getResource(FILENAME).getPath(); System.out.println("path "+FILE_PATH); File file = new File(FILE_PATH); FileInputStream in = new FileInputStream(file); prop.load(in); JDBC_DRIVER = prop.getProperty("JDBC_DRIVER"); DB_URL = prop.getProperty("DB_URL"); USER = prop.getProperty("USER"); PASS = prop.getProperty("PASS"); } catch (FileNotFoundException ex) { Logger.getLogger(DB_connection.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(DB_connection.class.getName()).log(Level.SEVERE, null, ex); } } ................................. 省略 ................................... }
就是使用類裝載器來獲取配置檔案的絕對路徑
輸出結果是
/home/peng/文件/PROGRAM/WEBsite/promotion/build/web/WEB-INF/classes/database.properties
Properties prop = new Properties();
String FILE_PATH = this.getClass().getClassLoader().getResource(FILENAME).getPath();
System.out.println("path "+FILE_PATH);
File file = new File(FILE_PATH);
FileInputStream in = new FileInputStream(file);
prop.load(in);