java - 如何使用java将unicode值写入文件?

标签 java unicode properties

我正在尝试使用 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/

相关文章:

java - 从毫秒转换为 MYSQL 日期

swift - 正则表达式 unicode 在 swift 中不起作用

python - 如何制作类属性?

java - 为什么我的 Java 应用程序找不到我的属性文件

xcode - 自动@property 合成不适用于 NSManagedObject 子类

java - 如何从一个方法返回一个数组并在 Java 的另一个方法中使用它

java - 如何提供信任存储文件的路径?

python - 无法在 os x terminal.app 的 python 中解码 utf-8 字符串

Python str(u'a') 和 u'a'.encode ('utf-8' 之间有什么区别)

java - 获取矩形碰撞的方向