java獲取文件編碼,jsoup獲取html純文本操作
maven引入獲取編碼的jar
<dependency> <groupId>com.ibm.icu</groupId> <artifactId>icu4j</artifactId> <version>67.1</version> </dependency>
獲取文件編碼
package com.lovnx.note.util; import com.ibm.icu.text.CharsetDetector; import com.ibm.icu.text.CharsetMatch; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import java.io.IOException; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /** * @author @256g的胃 * @ClassName HtmlParse * @Description * @Date 15:32 2020/7/9 **/ public class HtmlParse { public static String getEncode(String filePath) throws IOException { Path path = Paths.get(filePath); byte[] data = Files.readAllBytes(path); CharsetDetector detector = new CharsetDetector(); detector.setText(data); CharsetMatch match = detector.detect(); String encoding = match.getName(); System.out.println("The Content in " + match.getName()); return encoding; } public static void main(String[] args) throws Exception { System.out.println(HtmlParse.getEncode("/Users/cxt/Downloads/test.html")); } }
上面獲取文件編碼是為了在服務(wù)器根據(jù)文件流下載文件時(shí)防止文件亂碼直接指定編碼格式,然后再根據(jù)下載下來的文件識別純文本
Document doc = Jsoup.parse("讀取的文本字符串,此處應(yīng)該是帶html標(biāo)簽的");
String text = doc.text();
jsoup也支持 直接指定文件的形式去獲取純文本
補(bǔ)充知識:java 解析html/讀取html內(nèi)容
jsoup
String 轉(zhuǎn)化
1、Document doc = Jsoup.parse(html);
例如:
String html = "<html><head><title>First parse</title></head>" + "<body><p>Parsed HTML into a doc.</p></body></html>"; Document doc = Jsoup.parse(html); System.out.println(doc.text()); ;
常用api
2、獲取節(jié)點(diǎn)文本:Document.text();
以上這篇java獲取文件編碼,jsoup獲取html純文本操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot webscoket自定義定時(shí)器
這篇文章主要介紹了Springboot webscoket自定義定時(shí)器問題,總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2023-01-01Mybatis動態(tài)SQL之if、choose、where、set、trim、foreach標(biāo)記實(shí)例詳解
動態(tài)SQL就是動態(tài)的生成SQL。接下來通過本文給大家介紹Mybatis動態(tài)SQL之if、choose、where、set、trim、foreach標(biāo)記實(shí)例詳解的相關(guān)知識,感興趣的朋友一起看看吧2016-09-09Intellij Idea插件開發(fā)之創(chuàng)建項(xiàng)目層級的右鍵菜單
這篇文章主要介紹了Intellij Idea插件開發(fā)之創(chuàng)建項(xiàng)目層級的右鍵菜單,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02JDK9的新特性之String壓縮和字符編碼的實(shí)現(xiàn)方法
這篇文章主要介紹了JDK9的新特性之String壓縮和字符編碼的實(shí)現(xiàn)方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Java中@Autowired和@Resource區(qū)別
本文主要介紹了Java中@Autowired和@Resource區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段
這篇文章主要介紹了使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Java實(shí)現(xiàn)導(dǎo)出ZIP壓縮包的方法
這篇文章主要介紹了Java實(shí)現(xiàn)導(dǎo)出ZIP壓縮包的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11