【发布时间】:2017-11-16 07:06:46
【问题描述】:
我的 Java 应用程序在启动时加载一个包含键值对的属性文件。我可以成功设置和检索预期的属性。
但是,就目前而言,属性文件可以包含我想放在那里的任何属性名称。我希望能够将属性限制为特定的集合,其中一些是强制性的,而另一些则是可选的。
我可以根据有效集合手动检查每个加载的属性,但我想知道是否有更优雅的方法来执行此操作。例如。也许某种方式来声明预期的强制/可选属性,以便在加载属性文件时,如果检测到无效或丢失的属性,则会引发异常。类似于 boost::program_options 在 C++ 中提供的那种东西。
【问题讨论】:
-
可以使用命令行解析工具,如JOptSimple。
-
文件中的属性是什么真的很重要吗?您应该只使用您需要的属性。如果里面还有其他的,除了可能的内存价格,这有关系吗?
-
@assylias 看起来
JOptSimple只解析命令行选项。 -
@RealSkeptic 也许不是,但我仍然想知道。
-
@ksl 命令行选项只是数组中的字符串。您可能可以将参数转换为字符串数组并将其传递给命令行解析工具。您必须为此编写一个小方法,但随后您将免费获得所有可选/必需/格式检查等。可能有直接解析属性文件的工具,但我不知道。
标签: java properties properties-file