维护java应用程序配置文件的最佳方法

Yan*_*key 11 java config

我正在编写一个包含许多可用设置的java应用程序.基本上我的配置结构如下所示:

Config
|_ game 1
   |_ Game name: blah...
   |_ Player name: alice
   |_ Player name: bob
   |_ other settings...
|_ game 2
   |_ Game name: hah
   |_ Player name: alice
   |_ Player name: bob
   |_ other settings...
|_ game n....

你明白了.我尝试使用xml但是使用dom4j是一种痛苦,特别是在不同和相同的父节点中有很多具有相同名称的子节点,我需要对它们进行大量更改.到目前为止,我发现最简单的方法是使用纯文本文件

[Game 1]
Game name: blah
Player name: alice
Player name: bob
...

[Game 2]
...

但我觉得这是非常简陋的.那么在java中维护配置文件的行业最佳或标准做法是什么?

编辑:我希望解决方案是可移植的,比如将文件从一台计算机复制到另一台计算机不会破坏程序.(抱歉忘记提前了.)

jta*_*orn 5

在java中存储设置/首选项的最佳方法是使用Preferences API.


Arn*_*lle 2

您应该使用自动编组器来编写 XML 文件。几年前,我使用CastorXML,但今天,可能有更现代的 API 可以用于此目的。

使用此 API,您基本上可以:

  • 将所有配置存储在一个简单的 POJO 中
  • 实例化一个 Marshaller
  • 调用 marshaller.write(MyConfig)

当你想加载你的配置时:

  • 实例化解组器
  • 调用 Marshaller.read(yourFile)

您可以在配置文件中描述 XML 映射或使用默认的 Marshaller(1 个属性 ~ 1 个 XML 标记)

就是这么简单。

编辑:

在此线程中进行搜索后,JAXB 规范是在 CastorXML 首次发布之后出现的,并且 JAXB 的 Sun 实现现在似乎是Java <-> XML映射的标准。