最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

聊聊ResourceBundle和properties讀取配置文件的區(qū)別

 更新時間:2021年07月22日 11:40:45   作者:Syria  
這篇文章主要介紹了ResourceBundle和properties讀取配置文件的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java.util.ResourceBundle 和java.util.properties 讀取配置文件區(qū)別

這兩個類都是讀取properties格式的文件的,而Properties同時還能用來寫文件。

Properties的處理方式是將其作為一個映射表,而且這個類表示了一個持久的屬性集,他是繼承HashTable這個類。

ResourceBundle本質(zhì)上也是一個映射,但是它提供了國際化的功能。

假設(shè)電腦設(shè)置的地區(qū)是中國大陸,語言是中文

那么你向ResourceBundle(資源約束名稱為base)獲取abc變量的值的時候,ResourceBundle會先后搜索

base_zh_CN_abc.properties

base_zh_CN.properties

base_zh.properties

base.properties

文件,直到找到abc為止

相應(yīng)的,在英國就會去找base_en_GB_abc.properties等。

因此,你只需要提供不同語言的資源文件,而無需改變代碼,就達到了國際化的目的。

另外,在.properties里面,不能直接使用中文之類文字,而是要通過native2ascii轉(zhuǎn)乘\uxxxx這種形式

附:

1.編碼問題:

無論系統(tǒng)的默認編碼是什么,ResourceBundle在讀取properties文件時統(tǒng)一使用iso8859-1編碼。

因此,如果在默認編碼為 GBK的系統(tǒng)中編寫了包含中文的properties文件,經(jīng)由ResourceBundle讀入時,必須轉(zhuǎn)換為GBK格式的編碼,否則不能正確識別。

2.用法:

ResourceBundle:

ResourceBundle conf= ResourceBundle.getBundle("config/fnconfig/fnlogin");
String value= conf.getString("key");

Properties:

Properties prop = new Properties();
try { InputStream is = getClass().getResourceAsStream("xmlPath.properties");
prop.load(is);
//或者直接prop.load(new FileInputStream("c:/xmlPath.properties"));
if (is != null) { is.close();
} } catch (Exception e) { System.out.println( "file " + "catalogPath.properties" + " not found!\n" + e); } String value= prop.getProperty("key").toString();

ResourceBundle 讀取Properties文件及亂碼處理

package read; 
import java.util.ResourceBundle;
/**
 * 屬性文件工廠類
 * @author W
 * @version V1.0
 * @date 2013-4-17
 */
public interface ReadPropertiesFactory {
	public ResourceBundle getErrorResource();	
} 
================================================  

package read; 
import java.util.ResourceBundle;
 
/**
 * 
 * @author 
 * @version V1.0
 * @date 2013-5-13
 */
public class ReadPropertiesFactoryImpl implements ReadPropertiesFactory {
	private ResourceBundle errorResouce;
	
	public ResourceBundle getErrorResource() {
		if(errorResouce == null){
                     //只要讀取properties的名稱就可以了
			errorResouce = ResourceBundle.getBundle("errorMessage");
		}
		return errorResouce;
	} 	
}
===============================================
 
package util; 
import java.io.UnsupportedEncodingException; 
/**
 * 
 * @author 
 * @version V1.0
 * @date 2013-4-17
 */
public class StringHanlder {
	public static String transformCodeIso8859Style(String code , String codeStyle) throws UnsupportedEncodingException{
		return new String(code.getBytes("ISO-8859-1"),codeStyle);
	}
	public static String transformCodeUtf8Style(String code , String codeStyle) throws UnsupportedEncodingException{
		return new String(code.getBytes("utf-8"),codeStyle);
	}
}
=========================================================================
errorMessage.properties文件中的屬性
E01010024=查詢數(shù)據(jù)異常!
=============================================================================
package www.man.comService;
import java.util.ResourceBundle;
import read.ReadPropertiesFactoryImpl;
public class TestService {public static void main(String[] args) {
String a= TestService.getErrorValue("E01010070");System.out.println(a);}
private static  ResourceBundle getErrorResource() {
ReadPropertiesFactoryImpl readPropertiesFactory =new ReadPropertiesFactoryImpl();
return readPropertiesFactory.getErrorResource();
}
public  static String getErrorValue(String key){
try{
return util.StringHanlder.transformCodeIso8859Style(getErrorResource().getString(key),"utf-8");
}catch(Exception e){
e.printStackTrace();return "";
}
}}

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

相關(guān)文章

  • Java 數(shù)組內(nèi)置函數(shù)toArray詳解

    Java 數(shù)組內(nèi)置函數(shù)toArray詳解

    這篇文章主要介紹了Java 數(shù)組內(nèi)置函數(shù)toArray詳解,文本詳細的講解了toArray底層的代碼和文檔,需要的朋友可以參考下
    2021-06-06
  • java使用Apache工具集實現(xiàn)ftp文件傳輸代碼詳解

    java使用Apache工具集實現(xiàn)ftp文件傳輸代碼詳解

    這篇文章主要介紹了java使用Apache工具集實現(xiàn)ftp文件傳輸代碼詳解,分享了詳細連接ftp server和上傳文件,下載文件的代碼,以及結(jié)果展示,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 解決@RequestBody搭配@Data的大坑

    解決@RequestBody搭配@Data的大坑

    這篇文章主要介紹了解決@RequestBody搭配@Data的大坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 實例解析使用Java實現(xiàn)基本的音頻播放器的編寫要點

    實例解析使用Java實現(xiàn)基本的音頻播放器的編寫要點

    這篇文章主要介紹了使用Java實現(xiàn)基本的音頻播放器的代碼要點實例分享,包括音頻文件的循環(huán)播放等功能實現(xiàn)的關(guān)鍵點,需要的朋友可以參考下
    2016-01-01
  • Spring?注入靜態(tài)對象使用三種方式示例

    Spring?注入靜態(tài)對象使用三種方式示例

    這篇文章主要為大家介紹了Spring注入靜態(tài)對象使用的三種方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • SpringBoot 如何讀取classpath下的文件

    SpringBoot 如何讀取classpath下的文件

    這篇文章主要介紹了SpringBoot 讀取classpath下的文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java 中HashMap、HashSet、TreeMap、TreeSet判斷元素相同的幾種方法比較

    java 中HashMap、HashSet、TreeMap、TreeSet判斷元素相同的幾種方法比較

    這篇文章主要介紹了從源碼的角度淺析HashMap、TreeMap元素的存儲和獲取元素的邏輯;從Map與Set之間的關(guān)系淺析常用的Set中元素的存儲和判斷是否重復(fù)的邏輯,需要的朋友可以參考下
    2017-01-01
  • Java異常分類處理拋出捕獲操作詳解

    Java異常分類處理拋出捕獲操作詳解

    異常就是不正常,比如當我們身體出現(xiàn)了異常我們會根據(jù)身體情況選擇喝開水、吃藥、看病、等 異常處理方法。 java異常處理機制是我們java語言使用異常處理機制為程序提供了錯誤處理的能力,程序出現(xiàn)的錯誤,程序可以安全的退出,以保證程序正常的運行等
    2022-09-09
  • 關(guān)于mybatis一對一查詢一對多查詢遇到的問題

    關(guān)于mybatis一對一查詢一對多查詢遇到的問題

    這篇文章主要介紹了關(guān)于mybatis一對一查詢,一對多查詢遇到的錯誤,接下來是對文章進行操作,要求查詢?nèi)课恼?,并關(guān)聯(lián)查詢作者,文章標簽,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Spring Security攔截器引起Java CORS跨域失敗的問題及解決

    Spring Security攔截器引起Java CORS跨域失敗的問題及解決

    這篇文章主要介紹了Spring Security攔截器引起Java CORS跨域失敗的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

繁峙县| 聊城市| 湖州市| 泸定县| 石河子市| 滦南县| 余干县| 巴青县| 平湖市| 西乌珠穆沁旗| 姚安县| 黄平县| 石城县| 邵阳市| 大英县| 稷山县| 富宁县| 若尔盖县| 白朗县| 镇赉县| 松江区| 股票| 昌邑市| 介休市| 信丰县| 绥德县| 乐山市| 元谋县| 招远市| 霍林郭勒市| 信宜市| 太保市| 页游| 柏乡县| 靖安县| 平远县| 准格尔旗| 顺义区| 金华市| 南陵县| 米林县|