Java相当于app.config?

是否有一个Java等同于.NET的App.Config?

如果没有,是否有标准的方法来保持您的应用程序设置,以便在分发应用程序后可以更改它们?

对于WebApps,web.xml可用于存储应用程序设置。

除此之外,您可以使用Properties类来读取和写入属性文件。

您可能还想查看Preferences类,该类用于读取和写入系统和用户首选项。 它是一个抽象类,但您可以使用userNodeForPackage(ClassName.class)userNodeForPackage(ClassName.class)获取适当的对象。

将@Powerlord的使用Properties类的建议(+1)放入示例代码中:

 public class SomeClass { public static void main(String[] args){ String dbUrl = ""; String dbLogin = ""; String dbPassword = ""; if (args.length<3) { //If no inputs passed in, look for a configuration file URL configFile = SomeClass.class.getClass().getResource("/Configuration.cnf"); try { InputStream configFileStream = configFile.openStream(); Properties p = new Properties(); p.load(configFileStream); configFileStream.close(); dbUrl = (String)p.get("dbUrl"); dbLogin = (String)p.get("dbUser"); dbPassword = (String)p.get("dbPassword"); } catch (Exception e) { //IO or NullPointer exceptions possible in block above System.out.println("Useful message"); System.exit(1); } } else { //Read required inputs from "args" dbUrl = args[0]; dbLogin = args[1]; dbPassword = args[2]; } //Input checking one three items here //Real work here. } } 

然后,在容器的根目录(例如jar文件的顶部)放置一个文件Configuration.cnf其中包含以下内容:

 #Comments describing the file #more comments dbUser=username dbPassword=password dbUrl=jdbc\:mysql\://servername/databasename 

这种感觉并不完美(我有兴趣听到改进),但足以满足我目前的需求。

简单的方法是简单地拥有一个属性文件,例如myapp.properties,其中包含所有设置。它不是一种非常先进的设置方法,但它就足够了,或者您可以拥有自己的基于XML的设置,或者从中获取它们数据库等