我正在尝试使用 java 更新我的属性文件。我没有使用 java.util.Properties,因为它更改了键的顺序。 我创建了自己的逻辑来按顺序写入 key 。
我正在使用文件 IO 来读取/写入属性。 我面临的问题是,当我将日语字符串写入文件时,我需要对要写入的字符串进行 unicode 值。
输入:さん
文件中的预期值:\u3055\u3093
保存的值:さん
代码:
String strJapanese = "日本語";
try {
FileOutputStream fos = new FileOutputStream("test.utf");
BufferedWriter bufferedWriter = new BufferedWriter(
new OutputStreamWriter(fos,"UTF-8"));
bufferedWriter.write(strJapanese);
bufferedWriter.close();
} catch (Exception e) {
System.out.println(e.toString());
}
我还尝试将编码格式设置为 8859_1,如 Properties 类所做的那样。 Properties 类会自动将日语字符串转换为 unicode 字符,同时将其存储到文件中。
任何帮助将不胜感激。
最佳答案
使用org.apache.commons.lang.StringEscapeUtils#escapeJava() ,这将为您提供 Java 转义字符串。
String escaptedStrJapanese = StringEscapeUtils.escapeJava("日本語");
//then write it
bufferedWriter.write(escaptedStrJapanese);
关于java - 如何使用java将unicode值写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26729378/