日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java IO知识】读取中文乱码问题解决

發布時間:2023/12/1 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java IO知识】读取中文乱码问题解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讀取文件主要是要設置讀取的輸入流如InputStreamReader時要設置讀取的解碼格式,要和文件本身的編碼格式相同,這樣讀取出來的才不會亂碼。

InputStreamReader reader = new InputStreamInputReader(input, "編碼格式");

ANSI是"gbk"

注:必須是在讀取的時候就使用正確的解碼格式否則都會亂碼!!!!

而要轉換編碼格式也只有正確讀取后才能轉,否則轉換不會成功還是會亂碼。

更改格式的方法:

  str.getByte[]("編碼格式");

  new String(str.getByte[](), "要轉換的格式")

java讀取txt文件,如果編碼格式不匹配,就會出現亂碼現象,所以讀取txt文件的時候需要設置讀取編碼。txt文檔編碼格式都是寫在文件頭的,在程序中需要先解析文件的編碼格式,獲得編碼格式后,在按此格式讀取文件就不會產生亂碼了。

  • InputStream?inputStream?=?new?FileInputStream("E:/1.txt"); ?
  • ????????byte[]?head?=?new?byte[3]; ?
  • ????????inputStream.read(head);???
  • ????????String?code?=?""; ?
  • ???
  • ????????????code?=?"gb2312"; ?
  • ????????if?(head[0]?==?-1?&&?head[1]?==?-2?) ?
  • ????????????code?=?"UTF-16"; ?
  • ????????if?(head[0]?==?-2?&&?head[1]?==?-1?) ?
  • ????????????code?=?"Unicode"; ?
  • ????????if(head[0]==-17?&&?head[1]==-69?&&?head[2]?==-65) ?
  • ????????????code?=?"UTF-8";?
  • 轉載于:https://www.cnblogs.com/DonkeyTomy/archive/2012/12/23/2830171.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的【Java IO知识】读取中文乱码问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。