gpt4 book ai didi

java : properties file escape sequence for square bracket

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:12 27 4
gpt4 key购买 nike

需要转义值开头的 [。

我正在使用 PropertyResourceBundle 来读取属性文件,并且我有一个属性,其值以方括号开头,例如

myapp.add.user.email.selfRegistration.subject=[MYAPP] Welcome to MYAPP

当我尝试读取此文件时,出现以下异常

java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to
java.lang.String at
java.util.ResourceBundle.getString(ResourceBundle.java:355)

我使用的是jdk7

最佳答案

java.util.PropertyResourceBundle基于java.util.Properties 。技术上java.util.Properties实现Map<Object,Object>但是当您从文件加载属性时,键和值被限制为 String仅(检查 java.util.Properties.load() 方法的来源)。并且“[”字符在属性文件格式中没有特殊含义。

因此不可能得到ClassCastException由于尝试 Actor String[]String如果您的所有资源包确实基于属性文件。

您很可能有 ListResourceBundle基于捆绑(或 ResourceBundle 的自定义子类),可以包含任何类型的值,包括数组。

并且可以混合具有相同基本名称的基于属性和基于类的资源包,例如默认资源包可以是属性文件,而特定于语言环境的子包是 ListResourceBundle基于。

关于java : properties file escape sequence for square bracket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23287830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com