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

我在百度上用这个关键字搜索“资源文件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. vultr新用户注册享受50美元优惠码,长期有效

    vultr vps服务器,我用了三年多,购买了几十台vps,性价比非常高. 近期,vutlr推出了最新优惠码DOMORE长期有效,新用户注册账号时候,可在付款方式界面输入这个优惠码,享受50美元余额, ...

  2. <hdu - 1232> 畅通工程 并查集问题 (注意中的细节)

    本题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232  结题思路:因为题目是汉语的,那我就不解释题意了,要求的是最少建设的道路,我们可以用并查集来做这 ...

  3. MAC安装Securecrt破解

    MAC安装Securecrt破解(复制自:http://www.cnblogs.com/wulaoer/p/5538721.html)   在使用mac的时候有点不太习惯,主要原因是因为在用windo ...

  4. 【IE6的疯狂之五】div遮盖select的解决方案

    IE6以及一下版本下,选择框Select会覆盖Div中的内容一般情况下,可以将显示的内容放到Iframe中,然后再显示框架内的内容.由于Iframe的可以显示在Select上层,就可以解决这个问题.不 ...

  5. 【Android】数据共享 sharedPreferences 相关注意事项

    Android 中通过 sharedPreferences 来持久化存储数据并进行共享 在 Activity 或存在 Context 环境中即可使用 context.getSharedPreferen ...

  6. iis无法加载样式

  7. react使用map生成的元素,key的设定不对导致每次删除都删除最后一个

    假设 你的key设置为map中的索引,假设为0,1,2(原dom树),现在你用splice删除掉1,重新渲染时,还是会按map索引按顺序渲染为0,1(新dom树),由于react渲染机制是比较的key ...

  8. JQ基础语法

    empty HTML 代码: <p>Hello, <span>Person</span> <a href="#">and perso ...

  9. SQL语句优化技术分析 整理他人的

    一.操作符优化 1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用 ...

  10. MyBatis 异常 集锦

    异常1.使用映射器 (还没有使用Spring) 异常信息摘要: org.apache.ibatis.binding.BindingException: Type interface com.jege. ...