java - 从属性读取数据而不解析 Unicode 字符

标签 java properties-file

“RATNAGIRI GAS \u0026 POWER”是属性文件中的数据。当读取到应用程序时,它会转换为“RATNAGIRI GAS & POWER”。这里发生的是字符类型转换。如何停止这种自动转换?

这就是我加载属性文件的方式。请分享您对发生这种情况的原因以及如何读取属性文件中的字符串的想法。

Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream(properties_name);
property.load(in);

最佳答案

我认为没有一种干净的方法可以做到这一点。

您可以做的是转义属性文件中的 unicode 表示形式,或者将所选字符转换回其 unicode 表示形式。

下面是第一个“解决方案”的小示例。对这个答案不是很自豪。

代码

Properties p = new Properties();
InputStream s = Main.class.getClassLoader().getResourceAsStream("test/test.properties");
try {
    p.load(s);
    System.out.println(p.get("key"));
    System.out.println(p.get("rawKey"));
}
catch (IOException ioe) {
    ioe.printStackTrace();
}

测试包中的test.properties文件

key=\u0026
rawKey=\\u0026

输出

&
\u0026

您可能想检查this对于“转换回unicode”“解决方案”。

关于java - 从属性读取数据而不解析 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867424/

相关文章:

java - 如何控制 UrlPathHelper#getOriginatingRequestUri

Java 输出整数到文件

intellij-idea - 为什么Intellij IDEA说已使用的属性未使用?

maven - 如何在属性文件中写入相对路径

Maven:与 jar 一起的属性文件

java - 我正在使用 @PropertySource 和 @ConfigurationProperties 的组合,但我想用外部属性文件覆盖它们

java - 为什么在调用 getWriter() 之后不能更新 HttpServletResponse header ?

java - 为什么数据库调用在一些有限的调用后会 hibernate

java - 如何使用 Netbeans 的 Rest Web 服务中的 JoinTable 列进行查询

java - 如何在 Spring 项目中使用 Deployed Resources/web-resources/中的属性文件