2012-11-27 100 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