如何在属性文件中指定值,以便可以使用 ResourceBundle#getStringArray 检索它们?

2022-09-01 08:48:44

我正在尝试用于从属性文件中检索。文档中对此方法的描述如下:ResourceBundle#getStringArrayString[]

从此资源包或其父资源包之一获取给定键的字符串数组。

但是,我尝试将属性文件中的值存储为多个单独的键/值对:

key=value1
key=value2
key=value3

并作为逗号分隔的列表:

key=value1,value2,value3

但是这些都不能使用 检索。ResourceBundle#getStringArray

如何在属性文件中表示一组键/值对,以便可以使用 ?ResourceBundle#getStringArray


答案 1

对象可以容纳对象s,而不仅仅是 s。这往往会被遗忘,因为它们绝大多数用于加载 .properties 文件,因此通常只包含 s。文档指出,调用等效于调用 。这就是问题所在:值不是 a,而是 .PropertiesStringStringbundle.getStringArray(key)(String[]) bundle.getObject(key)String[]String

我建议将其以逗号分隔的格式存储并调用值。split()


答案 2

您可以使用 Commons Configuration,它具有方法,允许您检索逗号分隔字符串的列表。getListgetStringArray


推荐