如何解析从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也能被解析并以正确的形式显示
# 1 楼答案
您可以使用发布的源代码here来执行无逃避
# 2 楼答案
unicode转义序列的解析不是Java标准API的显式部分,它只在加载
Properties
时隐式发生。您可以从Properties
的源代码复制实现但最好对文件使用UTF-8这样的常规编码