我寫了一個小應用程序。我已將特定於數據庫的信息放入屬性文件中。包含帶有Jar文件的屬性文件
db.url=jdbc:mysql://localhost:3306/librarydb
db.user=root
db.passwd=pas$w0rd
當我構建應用程序來獲取可執行jar文件時,屬性文件被包含在裏面。把這些信息放在一個屬性文件中的目的是爲了讓用戶改變這些信息,但這使得它變得不可能。
如何在jar文件中不包含屬性文件?有點像在.NET應用程序中使用AppSettings文件。
我對Java非常陌生,所以如果能將它分解爲一組步驟,我會很感激。
謝謝。
編輯:
這是我應得的值從屬性在我的程序文件。
public class DatabaseHandler {
public static Connection connectToDb() {
Connection con = null;
Properties props = new Properties();
InputStream in = null;
try {
in = DatabaseHandler.class.getResourceAsStream("database.properties");
props.load(in);
in.close();
String url = props.getProperty("db.url");
String user = props.getProperty("db.user");
String password = props.getProperty("db.passwd");
con = DriverManager.getConnection(url, user, password);
} catch (Exception ex) {
Logger.getLogger(DatabaseHandler.class.getName()).log(Level.SEVERE, null, ex);
}
return con;
}
}
這不是我清楚你的意思是什麼「我怎麼能包括的屬性有沒有在它的jar文件文件」 - 只是不把屬性文件放在jar文件中...... –
嗯......我能給出的最接近的例子是.NET中的App.config文件。當可執行文件被創建時,文件與它捆綁在一起,對吧?不在裏面。 – Isuru
當然。所以現在你已經提供了代碼,我們可以看到你需要做什麼 - 只需使用'FileInputStream'而不是'getResourceAsStream'。 –