linux用java解析html出現中文亂碼問題
阿新 • • 發佈:2019-02-09
一,用java解析html文件遇到的問題
- 在windows環境下用BufferedReader讀取utf-8的html檔案時,沒有任何亂碼問題,但是在linux環境下讀取的時候就出現亂碼了,不知道什麼問題引起的。
- 後來用FileInputStream讀取,用new String方式去轉換,發現大部門亂碼問題解決了,但是由於是1024位元組去讀的所以存在一個問題,部分位元組沒讀全,就去new String導致亂碼問題。
二,解決方式
- 個人總結了下問題,應該試html中存在一些特殊字元,導致普通的方式在linux環境下存在轉碼問題,百度了一下,發現通過jsoup來解析html,會解決此類問題。
- 用法如下
//maven配置 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.3</version> </dependency> //實現程式碼 File htmlFile = new File("E:/a.html") StringBuffer htmlSb = new StringBuffer(); Document parse = Jsoup.parse(htmlFile, "utf-8"); htmlSb.append(parse.html());