簡體   English   中英

在屬性文件中保存特殊字符

[英]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'字符。

請參閱此如何在ResourceBundle的資源屬性中使用UTF-8

屬性文件是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM