属性文件中的值以逗号分隔,读取文件仅加载第一个元素

Yin*_*ang 3 java split properties

我有一个名为 的属性文件configuration.properties,其中configuration.properties是键值对:

email.recipients = sam@yahoo.com, bob@yahoo.com
Run Code Online (Sandbox Code Playgroud)

在我的Util.java课堂上,我加载configuration.properties文件:

import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.ConfigurationException;

PropertiesConfiguration config = new PropertiesConfiguration("configuration.properties");
EMAIL_RECIPIENT_STRING = config.getString("email.recipients");
Run Code Online (Sandbox Code Playgroud)

我期望有EMAIL_RECIPIENT_STRING=“sam@yahoo.com,bob@yahoo.com”,但我EMAIL_RECIPIENT_STRING只得到=“sam@yahoo.com”。出现这种情况的原因是什么?

Rei*_*eus 5

看来您正在使用 Apache 的PropertiesConfiguration。文档指出

value 可以包含值分隔符,然后将被解释为标记列表。默认值分隔符是逗号“,”。

getString只返回第一个令牌。您需要使用getStringArray返回所有属性

String recipients = config.getStringArray("email.recipients");
Run Code Online (Sandbox Code Playgroud)