处理Properties文件中key包含空格的情况
在这个互联网信息共享的时代,好处是一个问题的很多解决方案都可以从网络上得到,不好的一点就是很多人喜欢复制粘贴也不注明转载出处,不尊重别人的劳动成果,不假思索地把别人的原创复制到自己的博客然后发布,请大家支持原创,原创精神是很重要的,至少证明你动过脑筋去想怎么解决这个问题。
我在百度上用这个关键字搜索“资源文件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包含空格的情况的更多相关文章
- 通过java.util.Properties类来读取.properties文件中key对应的value
转:http://www.cnblogs.com/panjun-Donet/archive/2009/07/17/1525597.html
- SpringMVC+HibernateValidator,配置在properties文件中的错误信息回显前端页面出现中文乱码
问题: 后台在springMVC中使用hibernate-validator做参数校验的时候(validator具体使用方法见GOOGLE),用properties文件配置了校验失败的错误信息.发现回 ...
- GetPrivateProfileString() 当 key 包含空格时,需要进行转义
使用 GetPrivateProfileString() 方法可以方便的读取 ini 格式文件中的内容,如: [section] tommy = worker 使用 C# 读取如下: 1. 先引入 G ...
- 封装的方法--读取任何路径下的properties文件中的值
概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值.现在我封装了一下方法,直接读取配置文件中的值. 代码如下所示: /** * Created by qi ...
- 向properties文件中写入信息(针对获取properties文件失败的总结)
前段时间项目需要将某个属性动态的写入项目发布路径下的properties文件中;但是实际发布时发现找不到maven项目resource路径下的project.properties文件,调试多次代码如下 ...
- springboot使用@Value注入properties文件中的值,中文乱码
最近开发一个需求,讲一个中文值配置在properties文件中,然后代码中使用@Value注解进行注入使用,然而出现了如下状况: 中文出现乱码,将代码修改如下: String str = new St ...
- 5 输出的properties文件按照key进行排序
import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- maven 根据P参数值打包动态修改properties文件中值或一定properties
需求:由于最近开发clover项目 ,没有使用spring,更没有使用任何框架,而使用J2EE的web工程,所以连接ZK和MongoDB.Redis等服务器需用指定properties文件, 而目前公 ...
- Eclipse中 properties 文件中 中文乱码
在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因 在中文操作系统中,Eclipse中的Java类型文件的编码的默 ...
随机推荐
- vultr新用户注册享受50美元优惠码,长期有效
vultr vps服务器,我用了三年多,购买了几十台vps,性价比非常高. 近期,vutlr推出了最新优惠码DOMORE长期有效,新用户注册账号时候,可在付款方式界面输入这个优惠码,享受50美元余额, ...
- Chapter 21_4 捕获
捕获功能在很多地方都在使用,就是从目标字符串中抽出匹配于该模式的内容,在指定捕获时,应将模式中需要捕获的部分写到一对圆括号内. 对于具有捕获的模式,函数match会将所有捕获到的值作为单独的结果返回. ...
- Angular2 + NativeScript 跨平台开发笔记(一)
NativeScript 是一款跟 ReactNative 对着怼的移动开发技术,其官方钦定了 Angular2 作为推荐的技术框架,那么如何让在浏览器中运行的 Angular2 Web app 项目 ...
- 子查询 此处该用AND 而不是 WHERE
条件:有一张账户表,一张订单表. 需求:求出所有role = 2 即客服人员,所有操作成功的订单数量.结果:能查出所有的客服人员名称,以及操作的订单数量(关键点在于,没有操作过订单,则数量显示为0) ...
- 给go添加各种package
go version 1.1.2 For example you need to install the webscoket pakeage try go get code.goo ...
- incredibuild agent service is not running
incredibuild 不用介绍了,今天因为服务没有启动报错显示为: incredibuild agent service is not running 解决方法为: 在Incredibuild的安 ...
- 寒假学干货之------android开发环境
1.下载安装jdk(http://www.oracle.com/technetwork/java/javase/downloads/index.html)装se版的就可以了,复制jdk目录路径,之后配 ...
- html5+css3 文章的展示demo
index.html 页面的样式 <!DOCTYPE html><html lang="en"> <head> <title>l ...
- Intellij IDEA下导出Java工程的可运行JAR包
Intellij IDEA下导出Java工程的可运行JAR包 昨天一直向导出一个Java工程的可运行JAR包,然后查阅网上的资料以及自己一遍一遍的尝试,均以失败告终.可以导出JAR包,但是导出的JAR ...
- EasyUI 日期选择插件封装成选择到月份的插件
将普通的日期选择插件封装成选择到月份的插件: var nowMonth = new Date(); var month = ...