1. 程式人生 > 實用技巧 >InputStreamReader解決讀取文字中文亂碼

InputStreamReader解決讀取文字中文亂碼

建立一個txt文字,文字採用的編碼格式是ANSI,首先FileInputStream從a.txt檔案讀取,並且一個位元組一個位元組傳給InputStreamReader,當返回三個位元組時(UTF-8是三個位元組為1個漢字),FileInputStream就去UTF-8表中找所對應的中文漢字。結果顯而易見,所以出現亂碼.所以要將“UTF-8"設定為"GBK”,或者將txt文字的編碼格式改為UTF-8

 /**
     * http://127.0.0.1:8080/zifuliu/du
     * 字元流,輸入流,讀
     * 高效流
     * @return
     * 
@throws IOException */ @RequestMapping("/du") public String du()throws IOException { //使用預設編碼 InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("D:/aaa.txt"),"utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str; StringBuilder stringBuilder
= new StringBuilder(); while ((str=bufferedReader.readLine())!=null){ System.out.println("====>字元流:"+str); stringBuilder.append(str); } bufferedReader.close(); return stringBuilder.toString(); }
View Code