我擁有包含一些特殊字符的字符串的屬性。之後,我將它保存到屬性文件,我有:在屬性文件中保存特殊字符
BB\u0161BB=0
我不喜歡\u0161
代表的字符。爲什麼它不能像字符一樣保存在屏幕上並從鍵盤輸入?
UPD 什麼是最簡單的方法來讀取包含特殊字符的ini文件體系結構文件?
我擁有包含一些特殊字符的字符串的屬性。之後,我將它保存到屬性文件,我有:在屬性文件中保存特殊字符
BB\u0161BB=0
我不喜歡\u0161
代表的字符。爲什麼它不能像字符一樣保存在屏幕上並從鍵盤輸入?
UPD 什麼是最簡單的方法來讀取包含特殊字符的ini文件體系結構文件?
你可以!
使用其他應用程序(記事本+ +是不錯的,比如)編碼您在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
你去那裏,屬性文件任何您可以讀取和使用的字符集。
這就是Properties文件如何定義的行爲。任何其他系統都可能使用UTF-8,這也可能不可讀。
由於您的角色不在ISO-8859-1編碼範圍內,所以必須使用unicode。
你不能。來自javadoc:
...輸入/輸出流編碼爲ISO 8859-1字符 編碼。無法直接在此 編碼中表示的字符可以使用Unicode轉義符編寫,如在Java™語言規範的第 節3.3中定義的;在轉義序列中只允許一個'u'字符。
請參閱本How to use UTF-8 in resource properties with ResourceBundle
屬性文件是ISO-8859-1編碼,使集之外的字符必須\uXXXX
逃脫。