我的Eclipse RCP应用程序需要一个配置文件,其中包含一些连接到远程数据库的信息。最佳存储此配置文件的位置在哪里?
我可以使用默认的配置目录(通常存储“config.ini”文件的位置)吗?如果可以,如何以编程方式获取到该目录的File实例?我还注意到在我的Eclipse IDE中不存在此目录。
谢谢。
根据您的需求,您有多种选择。
对于较少高级/较少工作量的情况,特别是如果您没有访问Eclipse首选项(例如服务器端OSGi):
etc
目录,然后让您的bundles在首次使用时在etc
目录中生成默认属性文件。这本质上是自己构建偏好存储,所以如果您有访问偏好设置bundle的权限,最好使用该方法。这篇相当古老的用户设置FAQ也可能会有所帮助。正如之前提到的,首先要考虑使用Preferences API。还有一种适合将用户名称和密码加密存储在磁盘上的Secure Preferences API。
另一个选择是使用'org.eclipse.osgi.service.datalocation.Location' OSGi服务。这提供了对不同位置的访问。
第三个选项是在'config.ini'中定义系统属性,该属性指向包含连接信息的文件,并使用占位符:'my.connection.settings=@config.dir/mysettings.ini'。 '@config.dir'是一个占位符,它会被实际的配置目录路径所替换。
File configFile = new File("./bin/remoteDbConfig.ini");
如果它是一个真正的ini文件,你可以使用Properties.load()来加载并使用ini文件中的值。
你也可以使用Preferences API来存储远程连接所需的数据。