2025-02-09

Properties 是java提供的解決存儲在文件中的鍵值對的一個類,繼承瞭HashTable,能夠處理java的標準配置文件。

但是Properties 在從文件流中讀取文本時,getProperty(key)是使用ISO8859-1來解碼的,所以讀取中文時會亂碼,需要將讀取出來的字符串從ISO8859-1再編碼回去,用文本的本身編碼格式再解碼。
String s = new String(properties.getProterty(key).getBytes[]("ISO8859-1"),"UTF-8");
UTF-8是本身的編碼格式。

註意:在Properties.load
Java代碼 
FileInputStream isr = new FileInputStream(savePath); 
        Properties props = new Properties(); 
        props.load(isr); 

註意:isr 必須是文件字節流,不能是字符流,否則還是會亂碼。(或者有解決辦法,但是我還沒找到!)
Java代碼 
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(savePath), "UTF-8"); 
props.store(osw,"This is the System Config file,Please don't delete or modify it!"); 

作者“wangboak”
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *