基于Properties文件中的空格問題
Properties文件中的空格問題
默認(rèn)情況下
空格可以作為Properties文件中Key和Value的分隔符,當(dāng)我們需要在Key中使用空格的時候,可以使用反斜杠(\)對空格進行轉(zhuǎn)移。
注: 斜杠為(/),反斜杠為(\)。
讀properties文件時,值中有空格,可能會引起bug
一般properties文件都是配置文件,但是我們在讀取配置信息的時候,可能會有一些莫名其妙的錯誤。就比如:
我讀的配置很多事數(shù)字,不是long就是int,不全是字符串,那么問題來了。在把字符串轉(zhuǎn)換成int或者long的時候,就bug啦
Long keepAlive = null; try { keepAlive = Long.parseLong(properties.getProperty(prefix + channelName + "." + Channel.KEEP_ALIVE_KEY)); } catch (Exception e) { System.out.println(e.getMessage()); }
首先,你得機智的知道,這個方法 Long.parseLong(string) ,可以把字符串轉(zhuǎn)成long型,但是這個可能會拋異常,對,就算知道他可能拋異常,比如,傳的字符串的值是null,或者轉(zhuǎn)不成數(shù)字,那就異常啦。還是會出現(xiàn)一些問題。
但是在讀取配置的時候,發(fā)現(xiàn)如下debug圖
看到我讀取的值9,后面還帶了個空格,那么這樣子,肯定轉(zhuǎn)換成數(shù)據(jù)類型的時候就要拋異???/p>
先看下我讀取的配置文件具體是什么樣的
可以看到我的key也是有很多的空格的,前后都有。
然后再看看讀出來到debug是什么樣的
大致,總結(jié)一下,就是key的空格,他是不管的,但是對于value的空格,他就只留后面的一個空格。好像是這么滴吧
所以,在讀取到配置信息鍵值對,有必要對所有的鍵值對,統(tǒng)一處理一下。
/** * 讀取properties文件的值中會可能會有空格,需要處理一下。 */ private static void trimSpace(Properties prop) { for (Map.Entry<Object, Object> entry : prop.entrySet()) { entry.setValue(entry.getValue().toString().trim()); } }
這么處理一下就可以啦,因為是地址傳遞的,你只要把你讀的prop當(dāng)參數(shù),走這方法一遭,就把空格處理啦。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之二叉樹
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之二叉樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01Springboot中使用Redis實現(xiàn)分布式鎖的示例代碼
在分布式系統(tǒng)中,為了保證數(shù)據(jù)的一致性和任務(wù)的互斥執(zhí)行,分布式鎖是一種常見的解決方案,本文主要介紹了Springboot中使用Redis實現(xiàn)分布式鎖的示例代碼,具有一定的參考價值,感興趣的可以了解一下2024-05-05java應(yīng)用開發(fā)之JVM運行時內(nèi)存分析
這篇文章主要介紹了java應(yīng)用開發(fā)之JVM運行時內(nèi)存,文中附含圖文示例內(nèi)容分析非常簡要,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09Java8?LocalDateTime時間日期類使用實例詳解
本文從 LocalDateTime 類的創(chuàng)建、轉(zhuǎn)換、格式化與解析、計算與比較以及其他操作幾個方面詳細(xì)介紹了 LocalDateTime 類在 Java 8 中的使用,感興趣的朋友跟隨小編一起看看吧2024-03-03Java While循環(huán) do-while循環(huán)用法
循環(huán)語句就是讓計算機根據(jù)條件做循環(huán)計算,在條件滿足時繼續(xù)循環(huán),條件不滿足時退出循環(huán),需要的朋友可以參考下2020-11-11java編程實現(xiàn)獲取服務(wù)器IP地址及MAC地址的方法
這篇文章主要介紹了java編程實現(xiàn)獲取機器IP地址及MAC地址的方法,實例分析了Java分別針對單網(wǎng)卡及多網(wǎng)卡的情況下獲取服務(wù)器IP地址與MAC地址的相關(guān)技巧,需要的朋友可以參考下2015-11-11