Java 属性:.properties files vs xml?

2022-09-01 22:00:40

在属性方面,我是一个新手,我读到XML是存储这些属性的首选方法。但是,我注意到,以

foo=bar
fu=baz

也有效。这将意味着更少的打字(也许更容易阅读,效率也更高)。那么使用 XML 文件有什么好处呢?


答案 1

在XML中,您可以存储比在属性文件中更复杂的(例如分层)数据。所以这取决于你的用例。如果您只想存储少量的直接属性,则属性文件更易于处理(尽管 Java 属性类也可以读取基于 XML 的属性)。

无论如何,保持你的配置接口尽可能通用是有意义的,所以如果你需要的话,你可以毫无问题地切换到另一种表示(例如,通过使用Apache Commons Configuration)。


答案 2

使用 XML 文件的最大好处是 XML 声明其编码,而 .properties 则不声明。

如果要将这些属性文件转换为 N 种语言,则这些文件可能会以 N 种不同的编码返回。如果你不小心,你或其他人可能会不可逆转地破坏字符编码。