欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Properties文件中的空格問題

 更新時(shí)間:2021年08月28日 09:26:36   作者:rightrat  
這篇文章主要介紹了Properties文件中的空格問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Properties文件中的空格問題

默認(rèn)情況下

空格可以作為Properties文件中Key和Value的分隔符,當(dāng)我們需要在Key中使用空格的時(shí)候,可以使用反斜杠(\)對(duì)空格進(jìn)行轉(zhuǎn)移。

注: 斜杠為(/),反斜杠為(\)。

讀properties文件時(shí),值中有空格,可能會(huì)引起bug

一般properties文件都是配置文件,但是我們?cè)谧x取配置信息的時(shí)候,可能會(huì)有一些莫名其妙的錯(cuò)誤。就比如:

我讀的配置很多事數(shù)字,不是long就是int,不全是字符串,那么問題來了。在把字符串轉(zhuǎn)換成int或者long的時(shí)候,就bug啦

        Long keepAlive = null;
        try {
            keepAlive = Long.parseLong(properties.getProperty(prefix + channelName + "." + Channel.KEEP_ALIVE_KEY));
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

首先,你得機(jī)智的知道,這個(gè)方法 Long.parseLong(string) ,可以把字符串轉(zhuǎn)成long型,但是這個(gè)可能會(huì)拋異常,對(duì),就算知道他可能拋異常,比如,傳的字符串的值是null,或者轉(zhuǎn)不成數(shù)字,那就異常啦。還是會(huì)出現(xiàn)一些問題。

但是在讀取配置的時(shí)候,發(fā)現(xiàn)如下debug圖

看到我讀取的值9,后面還帶了個(gè)空格,那么這樣子,肯定轉(zhuǎn)換成數(shù)據(jù)類型的時(shí)候就要拋異???/p>

先看下我讀取的配置文件具體是什么樣的

可以看到我的key也是有很多的空格的,前后都有。

然后再看看讀出來到debug是什么樣的

大致,總結(jié)一下,就是key的空格,他是不管的,但是對(duì)于value的空格,他就只留后面的一個(gè)空格。好像是這么滴吧

所以,在讀取到配置信息鍵值對(duì),有必要對(duì)所有的鍵值對(duì),統(tǒng)一處理一下。

    /**
     * 讀取properties文件的值中會(huì)可能會(huì)有空格,需要處理一下。
     */
    private static void trimSpace(Properties prop) {
        for (Map.Entry<Object, Object> entry : prop.entrySet()) {
            entry.setValue(entry.getValue().toString().trim());
        }
    }

這么處理一下就可以啦,因?yàn)槭堑刂穫鬟f的,你只要把你讀的prop當(dāng)參數(shù),走這方法一遭,就把空格處理啦。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java常用的八種排序算法與代碼實(shí)現(xiàn)

    Java常用的八種排序算法與代碼實(shí)現(xiàn)

    這篇文章主要給給大家分享Java常用的八種排序算法與代碼實(shí)現(xiàn),下面文章將詳細(xì)介紹整個(gè)實(shí)現(xiàn)過程,感興趣的小伙伙伴可以跟著小編一起來學(xué)習(xí),希望對(duì)你有所幫助
    2021-10-10
  • 帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之二叉樹

    帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之二叉樹

    這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之二叉樹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼

    Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼

    在分布式系統(tǒng)中,為了保證數(shù)據(jù)的一致性和任務(wù)的互斥執(zhí)行,分布式鎖是一種常見的解決方案,本文主要介紹了Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • java應(yīng)用開發(fā)之JVM運(yùn)行時(shí)內(nèi)存分析

    java應(yīng)用開發(fā)之JVM運(yùn)行時(shí)內(nèi)存分析

    這篇文章主要介紹了java應(yīng)用開發(fā)之JVM運(yùn)行時(shí)內(nèi)存,文中附含圖文示例內(nèi)容分析非常簡(jiǎn)要,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • ArrayList及HashMap的擴(kuò)容規(guī)則講解

    ArrayList及HashMap的擴(kuò)容規(guī)則講解

    今天小編就為大家分享一篇關(guān)于ArrayList及HashMap的擴(kuò)容規(guī)則講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Java8?LocalDateTime時(shí)間日期類使用實(shí)例詳解

    Java8?LocalDateTime時(shí)間日期類使用實(shí)例詳解

    本文從 LocalDateTime 類的創(chuàng)建、轉(zhuǎn)換、格式化與解析、計(jì)算與比較以及其他操作幾個(gè)方面詳細(xì)介紹了 LocalDateTime 類在 Java 8 中的使用,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Java While循環(huán) do-while循環(huán)用法

    Java While循環(huán) do-while循環(huán)用法

    循環(huán)語句就是讓計(jì)算機(jī)根據(jù)條件做循環(huán)計(jì)算,在條件滿足時(shí)繼續(xù)循環(huán),條件不滿足時(shí)退出循環(huán),需要的朋友可以參考下
    2020-11-11
  • java中添加按鈕并添加響應(yīng)事件的方法(推薦)

    java中添加按鈕并添加響應(yīng)事件的方法(推薦)

    下面小編就為大家?guī)硪黄猨ava中添加按鈕并添加響應(yīng)事件的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • java編程實(shí)現(xiàn)獲取服務(wù)器IP地址及MAC地址的方法

    java編程實(shí)現(xiàn)獲取服務(wù)器IP地址及MAC地址的方法

    這篇文章主要介紹了java編程實(shí)現(xiàn)獲取機(jī)器IP地址及MAC地址的方法,實(shí)例分析了Java分別針對(duì)單網(wǎng)卡及多網(wǎng)卡的情況下獲取服務(wù)器IP地址與MAC地址的相關(guān)技巧,需要的朋友可以參考下
    2015-11-11
  • Spring?AOP中的環(huán)繞通知詳解

    Spring?AOP中的環(huán)繞通知詳解

    AOP是一種思想,是對(duì)某一類事情的集中處理,接下來我們要學(xué)習(xí)的是運(yùn)用了AOP思想,進(jìn)行AOP的環(huán)繞處理,本文通過實(shí)例講解Spring?AOP中的環(huán)繞通知,感興趣的朋友一起看看吧
    2024-07-07

最新評(píng)論