fileinputstream中文亂碼
- IT科技
- 關注:1.96W次
Java中使用 FileInputStream 讀取txt等文件時,中文會產生亂碼,這是因為一箇中文對應兩個位元組儲存(負數),也就是說,讀取對應中文的位元組數應該是偶數; 而英文對應一個位元組儲存。FileInputStream每次讀取一個數組長度的位元組時,讀取的中文位元組數可能是奇數,也就是隻讀到中文的一半位元組,出現亂碼。
解決方法是:
try {
fis = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader(fis,"GBK"); //最後的"GBK"根據檔案屬性而定,如果不行,改成"UTF-8"試試 BufferedReader br = new BufferedReader(reader); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
關於解決fileinputstream中文亂碼問題,我們就瞭解到這啦!
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/yq2221.html