在Java桌面应用程序中加载应用程序属性
在Java中存储和加载应用程序级属性的最佳方式是什么
你有什么事要做吗。net,我会在应用程序中添加一些内容。配置
<appSettings>
<add key="emailAddress" value="me@example.com" />
</appSettings>
然后像这样检索它:
string AdminEmail = ConfigurationManager.AppSettings["emailAddress"];
我必须将属性文件加载到文件流中吗?似乎是不必要的工作
我试过:
Properties props = new Properties();
FileInputStream fis = new FileInputStream("myProps.properties");
props.load(fis);
fis.close();
但这是给我一个java。伊奥。FileNotFoundException异常。与类相关的属性文件需要转到哪里
# 1 楼答案
{a1}提供了这个功能。它有很多缺点,但如果您希望以不依赖操作系统的方式来实现这一点,这是使用标准Java运行时库实现这一点的唯一方法。当然,您可以随时编写自己的操作系统特定代码来满足您的需求。是的,您可以编写简单的代码来加载属性文件,但该文件的位置在多个操作系统中可能会成为一个问题。我想既然你是在用Java编写一个桌面应用程序,你就会关心操作系统的可移植性。否则,Java可能不是桌面应用程序的最佳选择
# 2 楼答案
如果未指定绝对路径,则选择的路径为当前路径
这不完全是您所要求的,但是如果您想使用XML文件作为配置,您可以看看Apache Commons Configuration
# 3 楼答案
通常,它会尝试从应用程序的当前目录加载,该目录可能会因您运行应用程序的方式而异。您应该能够通过以下操作在运行时确定这一点: