Jul*_*éon 5 java formatting groovy configuration-files
我有这个 groovy 程序,它使用 ConfigObject 创建一个 groovy 配置文件。设置 ConfigObject 后,将使用以下命令将其写入文件:
myFile.withWriter {writer -> myConfigObject.writeTo(writer)}
Run Code Online (Sandbox Code Playgroud)
这导致 ConfigObject 的每个属性都写在一行上。例如,地图将打印为:
graphs=[["type":"std", "host":"localhost", "name":"cpurawlinux"], ["type":"std", "host":"localhost", "name":"memory"], ["type":"std", "host":"localhost", "name":"udp"] ... ]
Run Code Online (Sandbox Code Playgroud)
如果有人必须看的话,这是非常难以阅读的。有没有办法获得更友好的输出?像这样的东西会很棒:
graphs=[
["type":"std", "host":"localhost", "name":"cpurawlinux"],
["type":"std", "host":"localhost", "name":"memory"],
["type":"std", "host":"localhost", "name":"udp"]
...
]
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建自己的writeTo,但是 Groovy 中不是已经有这样的东西了吗?
不幸的是,您需要writeTo按照您所说的那样编写自己的内容。
如果您有一个结构如下的配置文件:
graphs {
a=["type":"std", "host":"localhost", "name":"cpurawlinux"]
b=["type":"std", "host":"localhost", "name":"memory"]
}
Run Code Online (Sandbox Code Playgroud)
然后 writeTo 会用结构将其写出,但如果您的配置文件只是一个大的旧列表,它会将其写为一个大的旧列表
| 归档时间: |
|
| 查看次数: |
5450 次 |
| 最近记录: |