在这个互联网信息共享的时代,好处是一个问题的很多解决方案都可以从网络上得到,不好的一点就是很多人喜欢复制粘贴也不注明转载出处,不尊重别人的劳动成果,不假思索地把别人的原创复制到自己的博客然后发布,请大家支持原创,原创精神是很重要的,至少证明你动过脑筋去想怎么解决这个问题。

我在百度上用这个关键字搜索“资源文件key空格”,搜出来了好几篇博文,我甚至不知道原创是谁的,真的有必要这样复制粘贴吗?

以上有点扯远了,下面我就来阐述一下这个问题的解决方案。由于某种原因,我的资源文件的key需要是这样的:

res.properties

main form firstName=Stone
main form lastName=Feng

如果你不对资源文件的key里面的空格进行处理而使用java.util.Properties工具进行操作的话,拿出来的value不是你想要的:

测试类

    @Test
public void test() throws IOException {
Properties properties = new Properties();
properties.load(this.getClass().getResourceAsStream("res.properties")); String value = properties.getProperty("main form lastName");
System.out.println("Value is: " + value);
}

结果:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAAA6CAIAAADeCjkIAAAE90lEQVR4nO2c3YGrIBCFbUsLoh0t4VZBMxST+2BUhvkBNK472XPeVmEYhg8YSLLDC4I8a3jaAQi6JBAM+RYIhnwLBEO+9XsJjmEYxjk903iax2EI8ZnGnejRATr0awlO8+ib4DSPw+NDHMOw6ugL6VoMvJuNfbcGaO17rfu7c9TB7C33Yrc8bA2cIFg2/ft0xc/rBKd5HEIINYSvB9O0ELkDnyK46kaaR7X3K4h5+RjKsuIaT42meRxAsKjLBK+N1838SYIb8w/JQPkstazBaR4334o1vJgM7Onb1bi+HOdERvYonNU+gpB18x1TsRht+6SfW3u7mZmOogCCrW08LRr6nTxcXE2qFvIalwi2Ir8PkOKGRrC1NtPkRCjJHkWLYCWbYb0mU4qkR++QZ6XXJzmZWYEYBhpcWo5Y3YqlOYhNd/lJTQpu7/A0gZwxUEvn250kL+Ksd7Mwf51gJfJ0JW1egytLPB8XUrZ1Dd7GS2yosJot0awRCsb2pFik5XWXEZzVUoNAXGv3k+9qWgtNIJPKFYSbnWzrs/DyOsFK5C8Q3L6hlWZp7RgGIQ/mSbZptDwcks2Go1F4VBTI/eNZBHWRcl+23OOnAIe9UNhUFrPSjmd7MLd30oHnXoKVyP8IwdIUpxmLvQaLLQlBt8bnXoJXT8UBafazneCWWyI6n/jE4qUbg6k4cIZgsktbiN9AcO89Mr99oJWv58GWQ7cTTOvTcu1+ym6KU78WenF5NtbsjmAq3vUSTMpLUyYvcAfBQm5pitjpIzizUB5qaDJNt8k0j3Kyvz35MMHFqYMQ3OFnmV6duouw8ucj51Yyf9PJ7MRaHOos6JnjzMGi68Vk6yOYN6U4tvay6Pf6pzDbc0OnCOZiSQbJTtht2q158NH0OCfBepOfWdkV3ep2bgRGPf7KSXdXME3Xzds0YxehuSU7SLYRzN2oJLy0VeWOKDN93O18gGDIi5o3jxvUeWQzZaRKIPir9S0EG8ZA8Fdrzzz6M6Iraj74fkAgGPItQvA/CPImrMGQb4FgyLdAMORbIBjyrS8keJmGaXnoDhT6cd1B8PHx5yMkuSLYjtXDkXQhgeBlOsL2er3Krww0m07LhLg3yo4VImlI/X5wgWpapg3oViHu7QLBp6VkEQxhsjWnY5k2Njge93e9bSZsazspRb4g3jdnantu7naIfJZuBjpoOXp0GGdxMvu7lwTB56TlwTHkgU5WbrlMcnIhxz0tE+UyL5WWiXyXTzNtShlv9vsNbrqf4K29aQ9X6bPZ35rPTW//uNSTXB61SgrBBolbMApnpYRl8RVD7+DpBN+DAZtnpH0QfLP0u4gs9HwFJmmEst13E5xKq+e+V6WON7H/OSRsRkHwzbJu095xK7Z2njZ8ag1W7PSqabzNvOhEe/kDEPyTMu+DYxhCLAHmnF0imGzuHxmpxvH+GBZ9BMvJDAg+LfsTjRiGMBUrMB2D4ridq56P7pXJb8FIJbYB1CW2y+xIJJ0/yRmrrNlf0+fGt39clc/k5J8u5jdex0VS9gNAM5dN+Ucm6UUq09fa3NBdVdvlObb+H3n6b9N2e+Xflf7aPlcjCb2+8nsR0J8SCIZ8CwRDvgWCId8CwZBvgWDIt0Aw5FsgGPItEAz5FgiGfAsEQ74FgiHfAsGQb4FgyLdAMORbIBjyLRAM+RYIhnwLBEO+BYIh3/oPmtsRDj5oY3sAAAAASUVORK5CYII=" alt="" />

那么解决这个问题呢?有遇到过这种问题的朋友肯定知道,我们需要对资源文件中包含空格的key进行一些改变:

main\ form\ firstName=Stne
main\ form\ lastName=Feng

改变key之后的结果:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAAA/CAIAAABl8BO4AAAFMUlEQVR4nO2cwZWjMAyGaQsKcjtQwlbhVvbgy7y31z1sB9kDIViWLMsDJKPk/28TjCzJH7Zskhn+/f368/X7BkGuNABcyKMALuRSABdyKYALuRTAhVwK4EIuBXAhlwK4kEsBXMilAC7kUgAXcik34MYwDOOcXtN5msdhCPE1nTvRkwfIC7hpHn2Dm+ZxeGEEq2IYVu2xkNBi4GEaY9cGaI29Ff7DOepgdjX/8Di4UrA/UUf8PA5umschhNAi93gyVQuRO3AWuE030jxWo1/JztvHULYtZnSAa9FhcNfO22Y+ElxjkUEN9IOb5nFz6bEElAtBfiFzafUwrhfHOZEB3Rtnd++xZ9HdUyk2o31/08+tv4eZmQ6eMP66tmHUIOh3cndxNVm1kN9xCFwt848BqrhRA1ebiWkFQlp2gFupVFiw5AEipc8901nr9ZMcyKxBDAPNKW1HrG7N0hzErrv8pCYFtx/MmPjNhr5VqtudJBfiXA+zMH8c3Erm6bxpnnEbEzofl3tbE7jbMIn2CxezCZk5THnYPimmZHmWZeBmd1VjJ67Z/eRLV60HE7/k5ga5ZidtMQsXj4NbyfwBcO3L1262CS6vm6u29uZMawNORBFf0SAPipcK1EWKe9lzj58CE/q0oMNYPIx6Pu3J3K5Je5hrwa1k/ing7na7ZlyxAyHX2rBcC+7qqTgOZj/t4FqOeehjxJ8n3tqYzIoD3wGXLMUa2ReA23v+u5k5vcbV/LgcXHo/bWf3U3aT9WipccXJWJmhO5JZ8a4XXNJeelLyBleAKxSQqu52Dp0qCA7ztTDNo1y/b5+cDG6xkSDgdvhZDEJZe9vmCK023uvpSlWvOpltQot9msY6c5w5WIRePGN94PKu1BcURdzrn8JDvho6480ZqyRIbcaOwy6tccnJmmDd5GfWdiW2uWYrianuaOWCuiuZquvqcZiyZtDKmu0NbeByNxrFLO21ctqTm3byyhc6Q+al4gJ17sJUxQBwP0rvAu4tnVIqQF70KC/6y54jMu9lOwRwIZfSwP0FQT9VmHEhlwK4kEsBXMilAC7kUu8P7jIN0/Kis0voMj0B3P3d5EsAArhvqTa4y7Rzd7vdytf45p7SMn0CQGnPF9Vzz/zfXtbv4xZpT8u0cWzVh4B7W5PDvxsIcE+VrVRgeSfrL51kanRycO/3bQ/ANpOTVuR72H2PSqtEyd0OUUDrbqD7cdPBrUW0Z2N3jHVNY9ru+IjpoJCxxo0hz0/S6sZlkpdFecZNy0RxzFsVBKSaaVWVmZ79OoKbPg4uexoaEaVlmqZHqour5M+0TMM0fcoaJsi6OcuHv1EnMBa5BaVx1kpaX2PoHas6uFeNOlmByt+GqhGxR1PLhjp9vL3MpwoZYTxh5YbkFHBr25zOObdaWxP7ZxJQnXGbEenZYFn9mF2DoI7jsHuaWAVXzhJnzbgVO70ybQpPnb2EGjdzpXEnwLWp5xw3hiHEclR4Qg+BS1bwUwbGeJpx4qFHFdxmRF2FE0oF8wuIGIYwlYNCUCsOCnK1a83EdskxFIu4wkRNYr/MjlTynniqQGzWI2puVferMWBzZn9zJv/6Lz/g2U9zst/QqXVqVvjtRzzFXlqvnuuuVvvl1Wblt7jd4DJ/pUVGiij7eP2PH8Xf5a0holR46+8qvLEALsB1qBh6X16+kwCuK5EC6KNfIgNcyKUALuRSABdyKYALuRTAhVwK4EIuBXAhlwK4kEsBXMilAC7kUgAXcimAC7kUwIVcCuBCLgVwIZf6D/HqeRMl2Q+CAAAAAElFTkSuQmCC" alt="" />

希望这篇拙文能够帮到有需要的同行。

处理Properties文件中key包含空格的情况的更多相关文章

  1. 通过java.util.Properties类来读取.properties文件中key对应的value

    转:http://www.cnblogs.com/panjun-Donet/archive/2009/07/17/1525597.html

  2. SpringMVC+HibernateValidator,配置在properties文件中的错误信息回显前端页面出现中文乱码

    问题: 后台在springMVC中使用hibernate-validator做参数校验的时候(validator具体使用方法见GOOGLE),用properties文件配置了校验失败的错误信息.发现回 ...

  3. GetPrivateProfileString() 当 key 包含空格时,需要进行转义

    使用 GetPrivateProfileString() 方法可以方便的读取 ini 格式文件中的内容,如: [section] tommy = worker 使用 C# 读取如下: 1. 先引入 G ...

  4. 封装的方法--读取任何路径下的properties文件中的值

    概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值.现在我封装了一下方法,直接读取配置文件中的值. 代码如下所示: /** * Created by qi ...

  5. 向properties文件中写入信息(针对获取properties文件失败的总结)

    前段时间项目需要将某个属性动态的写入项目发布路径下的properties文件中;但是实际发布时发现找不到maven项目resource路径下的project.properties文件,调试多次代码如下 ...

  6. springboot使用@Value注入properties文件中的值,中文乱码

    最近开发一个需求,讲一个中文值配置在properties文件中,然后代码中使用@Value注解进行注入使用,然而出现了如下状况: 中文出现乱码,将代码修改如下: String str = new St ...

  7. 5 输出的properties文件按照key进行排序

    import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; ...

  8. maven 根据P参数值打包动态修改properties文件中值或一定properties

    需求:由于最近开发clover项目 ,没有使用spring,更没有使用任何框架,而使用J2EE的web工程,所以连接ZK和MongoDB.Redis等服务器需用指定properties文件, 而目前公 ...

  9. Eclipse中 properties 文件中 中文乱码

    在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因 在中文操作系统中,Eclipse中的Java类型文件的编码的默 ...

随机推荐

  1. emacs 使用教程

    http://www.cnblogs.com/liuchaogege/p/4464211.html

  2. 循序渐进看Java web日志跟踪(3)-Log4J的使用和配置

    之前说过关于java日志跟踪的几大主要用的框架,也说到了,其实在其中,Log4J充当着一个相当重要的角色.目前,大部分框架也都是采用的是Log4J,虽然说它已经停止了更新,作者也重新起了LogBack ...

  3. NullSafe 的原理

    摘要 NullSafe is a simple category on NSNull that returns nil for unrecognised messages instead of thr ...

  4. cookie会话技术

    会话技术 B/S请求是无状态无记忆的,脚本与脚本之间是没有联系的,导致不能进行连续的业务逻辑 Cookie技术:将会话数据保存在浏览器端 原理:服务器向浏览器发送指令,用来管理存储在浏览器端的cook ...

  5. js中的错误检测

    <!DOCTYPE html> <html> <body> <script> function myFunction() { try { var x=d ...

  6. 4-Bom&Dom总结篇

    其实Bom就是指浏览器的东西,比如弹窗啊.浏览器信息啊等 而Dom则是指文档的东西,就是浏览器里边html的东西,如元素啊.属性啊.事件什么的 但Bom的唯一顶层对象window又包含Dom的顶层对象 ...

  7. Linux下服务器环境的搭建和配置之一——Apache篇

    最近一个多月(2016-06-20开始至今),一直在忙海外广告平台FAQ系统的开发,既要负责服务器环境的搭建,又要写前端,还要写后台和数据库,甚至还要考虑产品需求和设计.所以是一个很大的挑战,对自身也 ...

  8. VFL语言

    VFL语言 VFL即Visual Format Language,可视化格式语言 NSDictionaryOfVariableBindings(testViewA, testViewB):此为一个宏, ...

  9. H3C SecPath 防火墙端口回流

    外网IP地址可以通过域名访问内外800端口网站,内网地址不可以,需要做回流 <<内网口.外网口都需要做nat映射>>定义ACL3001acl number 3001rule 0 ...

  10. viusal studio 调试错误及解决方法(长期更新记录)

    1.为了看运行结果加了 system("pause"):结果导致图像显示不出来,数据为空.主要是因为system pause后停止计算.图像显示不出来.应该改成:waitKey(0 ...