有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何解析从java文件中读取的unicode

我写了一个包含以下内容的文本文件:\u0032\u0142o\u017Cy\u0142

然后我使用FileReader和BufferedReader来读取文件

public static void main(String[] args) throws Exception{
   FileInputStream fr = new FileInputStream("README.TXT");
   BufferedReader br = new BufferedReader(new InputStreamReader(fr,"UTF-8"));
   String s="";
   while((s=br.readLine())!=null){
      System.out.println(s);
    }
}

但是输出是:\u0032\u0142o\u017Cy\u0142

当我使用

System.out.println("\u0032\u0142o\u017Cy\u0142");

这些代码将被解析并以正确的形式显示

如何更改代码,以便文件中的unicode也能被解析并以正确的形式显示


共 (2) 个答案

  1. # 1 楼答案

    您可以使用发布的源代码here来执行无逃避

  2. # 2 楼答案

    unicode转义序列的解析不是Java标准API的显式部分,它只在加载Properties时隐式发生。您可以从Properties的源代码复制实现

    但最好对文件使用UTF-8这样的常规编码