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

解決Java中properties文件編碼問(wèn)題

 更新時(shí)間:2022年02月08日 15:45:33   作者:KING丨殤痕  
大家好,本篇文章主要講的是解決Java中properties文件編碼問(wèn)題,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

1、properties文件顯示亂碼問(wèn)題

原因是因?yàn)閜roperties默認(rèn)使用ASCII碼,就算在文件中填寫(xiě)了中文,再打開(kāi)后依然會(huì)轉(zhuǎn)換成ASCII碼的形式。
首先確定properties配置文件的編碼格式,通常情況下properties的默認(rèn)編碼格式為ISO-8859-1。
更改properties的編碼格式為UTF-8:
IDEA:設(shè)置->文件編碼

在這里插入圖片描述

eclipse:右鍵該文件->properties

這里不但設(shè)置了編碼格式為UTF-8,旁邊還有Transparent native-to-ascii conversion選項(xiàng)(eclipse里面沒(méi)有),這個(gè)東西有啥作用呢

2、讀取properties文件亂碼

設(shè)置完properties文件編碼格式為UTF-8后,一般我們通過(guò)字節(jié)流讀取properties文件的方式會(huì)亂碼:

    public void TestProp1() throws IOException {
        Properties properties = new Properties();
        InputStream in = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream("application.properties");
        properties.load(in);
        System.out.println(properties.getProperty("yaml.name"));
    }

解決辦法就是通過(guò)字符流的方式讀取properties文件:

    public void TestProp() throws IOException {
        Properties properties = new Properties();
        InputStream in = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream("application.properties");
        properties.load(new InputStreamReader(in, "UTF-8"));
        System.out.println(properties.getProperty("yaml.name"));
    }

3、Spring boot的@ConfigurationProperties讀取properties文件亂碼

方法一
使用yml文件
方法二
設(shè)置Transparent native-to-ascii conversion也就是上述圖片上屬性文件的配置勾選自動(dòng)轉(zhuǎn)換成ASCII,但顯示原生的內(nèi)容。
在IDEA勾選這個(gè)選項(xiàng)的作用就是:顯示為UTF-8格式,但是運(yùn)行時(shí)轉(zhuǎn)換成ASCII的形式,實(shí)際上使用的是native2ascii.exe來(lái)進(jìn)行轉(zhuǎn)換。
運(yùn)行時(shí)顯示如下圖:

在這里插入圖片描述

方法三
添加注解@PropertySource并聲明encoding=“UTF-8”

//加注解
@Component
@ConfigurationProperties(prefix = "yaml")
@PropertySource(value = {"classpath:yaml.properties"}, encoding = "UTF-8")
 

注意:這種方法只能對(duì)自定義的properties文件有效,對(duì)于spring boot默認(rèn)生成的application.properties沒(méi)有效果

總結(jié)

到此這篇關(guān)于解決Java中properties文件編碼問(wèn)題的文章就介紹到這了,更多相關(guān)Java properties編碼問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程

    Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程

    Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項(xiàng)目開(kāi)始。您可以使用 github 中的 idf-template 項(xiàng)目,接下來(lái)通過(guò)本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程,感興趣的朋友一起看看吧
    2021-10-10
  • Spring注解@Profile實(shí)現(xiàn)開(kāi)發(fā)環(huán)境/測(cè)試環(huán)境/生產(chǎn)環(huán)境的切換

    Spring注解@Profile實(shí)現(xiàn)開(kāi)發(fā)環(huán)境/測(cè)試環(huán)境/生產(chǎn)環(huán)境的切換

    在進(jìn)行軟件開(kāi)發(fā)過(guò)程中,一般會(huì)將項(xiàng)目分為開(kāi)發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境。本文主要介紹了Spring如何通過(guò)注解@Profile實(shí)現(xiàn)開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境的切換,需要的可以參考一下
    2023-04-04
  • Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor

    Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor

    本文介紹了Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor,手動(dòng)方式使用ThreadPoolExecutor創(chuàng)建線程池和使用Executors執(zhí)行器自動(dòng)創(chuàng)建線程池,下文更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • Java實(shí)現(xiàn)簡(jiǎn)單的抽牌游戲

    Java實(shí)現(xiàn)簡(jiǎn)單的抽牌游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的抽牌游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Java實(shí)現(xiàn)獲取前、后N天日期的函數(shù)分享

    Java實(shí)現(xiàn)獲取前、后N天日期的函數(shù)分享

    本文給大家分享的是使用java實(shí)現(xiàn)的獲取當(dāng)前日期前后N天的函數(shù),非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-03-03
  • SpringBoot集成七牛云OSS的示例詳解

    SpringBoot集成七牛云OSS的示例詳解

    OSS的英文全稱(chēng)是Object?Storage?Service,翻譯成中文就是對(duì)象存儲(chǔ)服務(wù),官方一點(diǎn)解釋就是對(duì)象存儲(chǔ)是一種使用HTTP?API存儲(chǔ)和檢索非結(jié)構(gòu)化數(shù)據(jù)和元數(shù)據(jù)對(duì)象的工具,本文給大家詳細(xì)介紹了SpringBoot集成七牛云OSS的示例,需要的朋友可以參考下
    2023-11-11
  • Spring基于advisor配置aop過(guò)程解析

    Spring基于advisor配置aop過(guò)程解析

    這篇文章主要介紹了Spring基于advisor配置aop過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java基于NIO實(shí)現(xiàn)群聊模式

    java基于NIO實(shí)現(xiàn)群聊模式

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)NIO實(shí)現(xiàn)群聊模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • springboot注入yml配置文件 list報(bào)錯(cuò)的解決方案

    springboot注入yml配置文件 list報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了springboot注入yml配置文件 list報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • JAVA Frame 窗體背景圖片,首位相接滾動(dòng)代碼實(shí)例

    JAVA Frame 窗體背景圖片,首位相接滾動(dòng)代碼實(shí)例

    這篇文章主要介紹了JAVA Frame 窗體背景圖片,首位相接滾動(dòng)代碼示例,需要的朋友可以參考下復(fù)制代碼
    2017-04-04

最新評(píng)論