2015-12-16 81 views
2

我擁有包含一些特殊字符的字符串的屬性。之後,我將它保存到屬性文件,我有:在屬性文件中保存特殊字符

BB\u0161BB=0 

我不喜歡\u0161代表的字符。爲什麼它不能像字符一樣保存在屏幕上並從鍵盤輸入?

UPD 什麼是最簡單的方法來讀取包含特殊字符的ini文件體系結構文件?

回答

1

你可以!

使用其他應用程序(記事本+ +是不錯的,比如)編碼您在Unicode文件(UTF-8,例如)和讀你的屬性文件是這樣的:

File file = ... ; 
Properties properties = new Properties(); 
try (FileInputStream in = new FileInputStream(file); 
    Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8)) { 
    properties.load(reader); 
} 
// use properties 

你去那裏,屬性文件任何您可以讀取和使用的字符集。

3

這就是Properties文件如何定義的行爲。任何其他系統都可能使用UTF-8,這也可能不可讀。

由於您的角色不在ISO-8859-1編碼範圍內,所以必須使用unicode。

2

你不能。來自javadoc:

...輸入/輸出流編碼爲ISO 8859-1字符 編碼。無法直接在此 編碼中表示的字符可以使用Unicode轉義符編寫,如在Java™語言規範的第 節3.3中定義的;在轉義序列中只允許一個'u'字符。

請參閱本How to use UTF-8 in resource properties with ResourceBundle

1

屬性文件是ISO-8859-1編碼,使集之外的字符必須\uXXXX逃脫。