java 讀取文件亂碼

 private void filereader() throws IOException{
  BufferedReader bf= new BufferedReader(new InputStreamReader(new FileInputStream("D:\\CompareDll.py"),"UTF-8"));
  String str="";
  while((str=bf.readLine())!=null){
   System.out.println(str);
   
  }
  bf.close();
 }編碼

若是不指定編碼則讀取文件時使用系統默認編碼,通常爲gbkcode

Java的I/O類處理如圖:blog

Reader 類是 Java 的 I/O 中讀字符的父類,而 InputStream 類是讀字節的父類,InputStreamReader 類就是關聯字節到字符的橋樑,它負責在 I/O 過程當中處理讀取字節到字符的轉換,而具體字節到字符的解碼實現它由 StreamDecoder 去實現,在 StreamDecoder 解碼過程當中必須由用戶指定 Charset 編碼格式。值得注意的是若是你沒有指定 Charset,將使用本地環境中的默認字符集,例如在中文環境中將使用 GBK 編碼。io

相關文章
相關標籤/搜索