我写了一个小应用程序。我已将特定于数据库的信息放入属性文件中。包含带有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'。 –