我可以使用与默认编码不同的 java.util.Properties 吗?
问问题
1611 次
3 回答
3
除非你
- 正在运行 java 6 或更高版本
- 控制加载属性文件的代码,并且可以使用Reader。请参阅javadoc。
这是规范中一个非常烦人的缺陷。有几种解决方法,可能最简单的方法是从适合编码的(cp1250、utf-8 等)源自动生成符合 unicode 转义的 .properties 文件。
Java 附带了一个名为native2ascii的转码器来为您执行此操作:
关于这个主题有一些陈旧的 RFE:
- 提供基于 UTF-8 的属性资源包- 2004
- 需要属性类的加载(读取器)/存储(写入器)接口- 1997
于 2009-09-01T10:46:35.603 回答
1
如果您的属性文件在构建时可用,您还可以使用 native2ascii 任务在您的 ant 脚本中转换它:
<property name="javac.source.encoding" value="Cp1250"/>
<native2ascii src="${src.dir}" dest="${classes.dir}"
encoding="${javac.source.encoding}"
includes="**/*.properties"/>
于 2009-09-01T11:35:28.063 回答