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

我在百度上用这个关键字搜索“资源文件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. MyEclipse 代码提示设置

    打开 Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist,在右边最下面一栏找到 au ...

  2. python 访问数据库

    commit() 提交rollback() 回滚 cursor用来执行命令的方法:callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回 ...

  3. RandomAccessFile类初次使用

    RandomAccessFile : java提供的对文件内容的访问 既可以读文件 也可以写文件 支持随机访问文件 可以访问文件的任意位置 (1)java文件模型 : 在硬盘上的文件是byte byt ...

  4. [NEUQ-OJ] 1012 SZ斐波拉契数列

    一道水题,让我看清基础我的基础是多么薄弱. 递归,数组清零,数组名/变量名重复层出不穷...路漫漫啊.......... http://ncc.neuq.edu.cn/oj/problem.php?i ...

  5. 建立tcl文件

  6. win7安装omnetpp-4.6

    最近做毕设要用omnet仿真系统,就试着在win7上装了一下,分享一下经验咯.因为lz经常刷机,所以安装过程都是从头再来的,费话不多说.下面是安装过程: (1)    安装jdk,我就百度一下,然后找 ...

  7. innodb更改行格式,系统盘占用急剧升高

    #大表引擎修改后,数据量较myisam引擎表大很多,对存储的行格式修改后,数据量减小. #备库修改时,由于服务器时间较早,系统盘20G,突然收到/磁盘空间占比89%的报警,立即将修改中断,恢复正常 # ...

  8. in_array 判断的一些见解

    我个人见解in_array的判断是== 并不是===  证明如下: $arr=(array_merge(range(1, 9),range('a', 'z'),range('A', 'Z')));$m ...

  9. win10十周年更新后cent os 虚拟机无法连接到xshell

    1.在vmware中打开编辑-->虚拟网络编辑器-->还原默认设置

  10. jquery对象介绍及一些jquery小特效

    一.jquery对象的介绍. 引入jquery库后,通过形如$("#id")的方式得到的对象叫做jquery对象.如var $uu = $("#username" ...