Java 在地图中存储属性文件
我想读取一个常用的属性文件,并将属性和他的值放入一个Map对象中。 从技术上讲,属性文件Java 在地图中存储属性文件,java,map,properties,config,Java,Map,Properties,Config,我想读取一个常用的属性文件,并将属性和他的值放入一个Map对象中。 从技术上讲,属性文件 attr1=hello attr2=java attr3=world 将动态地成为这样的贴图对象 +-------+-------+ + K | V + +-------+-------+ + attr1 | hello + +-------+-------+ + attr2 | java + +-------+-------+ + attr3 | world + +-------+--
attr1=hello
attr2=java
attr3=world
将动态地成为这样的贴图对象
+-------+-------+
+ K | V +
+-------+-------+
+ attr1 | hello +
+-------+-------+
+ attr2 | java +
+-------+-------+
+ attr3 | world +
+-------+-------+
最后,属性文件中的内容应该无关紧要,整个文件将被保存为地图。
使用java.Properties可以做到这一点吗?或者文件读取器或具有特殊解析功能的InputStream是必要的吗?
java.util.Properties
还实现了Map
要从文件加载属性,请将属性“load()
方法与Reader
或InputStream
一起使用
比如说,
Properties config = new Properties();
try {
config.load(<this.class>.getResourceAsStream(<property-file-name>)); //example input stream
//now can access it as a Map instance
config.get(<Key>);
config.entrySet();
//additionally, you can access Properties methods
config.getProperty(<property-name>);
} catch(...) {
...
}
java.util.Properties
也是Map
的实现。对读取器或输入流使用属性“load()
方法。谢谢,非常有用,但这并不能解决我的问题。我需要地图来创建我的UI。每个键都是标题,每个值都是内容的一部分。因此,访问应该是动态的,因此我可以通过指定映射来创建GUI。你能为此编辑你的答案吗?@muffin是的,Properties
实现有点像Map
,所以它可能是UI填充中的问题。我已经更新了答案,并尝试了它,让我知道结果。
Properties config = new Properties();
try {
config.load(<this.class>.getResourceAsStream(<property-file-name>)); //exampl input stream
Map<String, String> map = new HashMap<String, String>();
for (final String name: config.stringPropertyNames())
map.put(name, config.getProperty(name));
} catch(...) {
...
}