我正在尝试使用constants.properties
从java.utils.Properties
文件读取属性。仅这些属性中的某些包含重音字符,例如é,è,ô,并且当我使用getProperty()
读取它们时,重音将被删除。即:
Générateur de formulaire
成为
Generateur de formulaire
我知道属性文件是使用ISO 8859-1编码读取的,所以我已经尝试过将字符换成Unicode转义符:
FORM_GENERATOR_VALUE=Générateur de formulaires
成为
FORM_GENERATOR_VALUE=G\u0065n\u0065rateur de formulaires
但是这仍然会产生相同的结果。当我停止执行并查看变量时,使用getProperty()
从文件读取的字符串仍然没有重音符号。
这是初始化我的属性的方式:
public Properties constants = new Properties();
constants.load(new FileInputStream("constants.properties"));
[我已经看到一种解决方案是将属性文件格式从.property
切换为.xml
,但理想情况下,我不想这样做,因为这将意味着再次重写整个常量文件。
this.properties.load(new InputStreamReader( getClass().getClassLoader().getResourceAsStream("configuration.properties"),
Charset.forName("UTF-8")));