[英]Saving special characters in properties file
我有字符串屬性包含一些特殊字符。 將它保存到屬性文件后,我有:
BB\u0161BB=0
我不喜歡用\š
表示的字符。 為什么它不能像角色一樣保存我在屏幕上看到它並從鍵盤輸入?
UPD讀取包含特殊字符的ini文件架構文件的最簡單方法是什么?
這就是定義屬性文件的行為方式。 任何其他系統都可能使用UTF-8,也可能無法讀取。
由於您的角色超出了ISO-8859-1編碼的范圍,因此必須使用unicode。
你不能。 來自javadoc:
...輸入/輸出流以ISO 8859-1字符編碼進行編碼。 無法在此編碼中直接表示的字符可以使用“Java™語言規范”第3.3節中定義的Unicode轉義編寫; 在轉義序列中只允許一個'u'字符。
屬性文件是ISO-8859-1編碼的,因此該集合之外的字符需要進行\\uXXXX
轉義。
您可以!
使用其他應用程序(例如,Notepad ++很好)以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
你去,你可以閱讀和使用的任何字符集中的屬性文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.