2012-11-27 63 views
0

所以我想从文件中读取文本数据,并且我正在搞乱Unicode字符,但它似乎无法正确解析Unicode字符。我不完全确定我在做什么错误,因为我最近开始学习Java的更多知识,所以如果有人能指出可能的错误或者是什么导致了这种行为,我将不胜感激。阅读带流的unicode文本文件?

代码:

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\hello.txt"), "UTF8")); 
      char[] buffer = new char[128]; 
      int len = br.read(buffer); 

      for (int i = 0; i < len; i++) { 
       System.out.print(buffer[i]); 
      } 

文件里面的人物是:奥萨

+1

你确定该文件实际上是UTF8吗? – SLaks

回答

0

你不缺几许?:UTF-8

如果你使用谷歌的番石榴那么库有Charsets的常量。

那么你可以使用:

String text = com.google.common.io.Files.toString(new File("C:\\hello.txt"), Charsets.UTF_8); 

编辑

这可能是由于this

+0

这是一样的,并且它输出相同的结果。 – deadmau5