如何使用 Java 属性文件?
2022-08-31 05:54:01
我有一个键/值对列表,我想将配置值存储为Java属性文件,然后加载和循环访问。
问题:
- 我是否需要将文件存储在与将加载它们的类相同的包中,或者是否有任何应放置该文件的特定位置?
- 文件是否需要以任何特定扩展名结尾或可以?
.txt
- 如何在代码中加载文件
- 如何循环访问其中的值?
我有一个键/值对列表,我想将配置值存储为Java属性文件,然后加载和循环访问。
问题:
.txt
您可以将 InputStream 传递给属性,因此您的文件几乎可以位于任何位置,并调用任何内容。
Properties properties = new Properties();
try {
properties.load(new FileInputStream("path/filename"));
} catch (IOException e) {
...
}
迭代为:
for(String key : properties.stringPropertyNames()) {
String value = properties.getProperty(key);
System.out.println(key + " => " + value);
}
您可以将文件存储在任何您喜欢的地方。如果要将其保留在 jar 文件中,则需要使用或访问它。如果它在文件系统上,那就稍微容易一些了。Class.getResourceAsStream()
ClassLoader.getResourceAsStream()
任何扩展名都可以,尽管.properties在我的经验中更常见
使用 加载文件,传入 或 a(如果您使用的是 Java 6)。(如果您使用的是Java 6,我可能会使用UTF-8和一种代替默认的ISO-8859-1编码。Properties.load
InputStream
StreamReader
Reader
像迭代法线(从中派生)一样迭代它,例如使用 .或者,可以使用 返回的枚举。Hashtable
Properties
keySet()
propertyNames()