當前位置:生活全書館 >

IT科技

> fileinputstream中文亂碼

fileinputstream中文亂碼

Java中使用 FileInputStream 讀取txt等文件時,中文會產生亂碼,這是因為一箇中文對應兩個位元組儲存(負數),也就是說,讀取對應中文的位元組數應該是偶數; 而英文對應一個位元組儲存。FileInputStream每次讀取一個數組長度的位元組時,讀取的中文位元組數可能是奇數,也就是隻讀到中文的一半位元組,出現亂碼。

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中文亂碼 第2張

關於解決fileinputstream中文亂碼問題,我們就瞭解到這啦!

  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/yq2221.html