色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例

瀏覽:54日期:2022-08-26 17:07:00

這里的獲取的是html文件中body中的所有標(biāo)簽以及內(nèi)容

package com.lmt.service.file;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.Reader;import org.springframework.stereotype.Component;import com.lmt.config.UrlConstants;@Componentpublic class ParseFile { /** * 解析html文件 * @param file * @return */ public String readHtml(File file){ String body = ''; try { FileInputStream iStream = new FileInputStream(file); Reader reader = new InputStreamReader(iStream); BufferedReader htmlReader = new BufferedReader(reader); String line; boolean found = false; while (!found && (line = htmlReader.readLine()) != null) {if (line.toLowerCase().indexOf('<body') != -1) { // 在<body>的前面可能存在空格 found = true;} } found = false; while (!found && (line = htmlReader.readLine()) != null) {if (line.toLowerCase().indexOf('</body') != -1) { found = true;} else { // 如果存在圖片,則將相對路徑轉(zhuǎn)換為絕對路徑 String lowerCaseLine = line.toLowerCase(); if (lowerCaseLine.contains('src')) {//這里是定義圖片的訪問路徑 String directory = 'D:/test'; // 如果路徑名不以反斜杠結(jié)尾,則手動添加反斜杠 /*if (!directory.endsWith('')) { directory = directory + ''; }*/ // line = line.substring(0, lowerCaseLine.indexOf('src') + 5) + directory + line.substring(lowerCaseLine.indexOf('src') + 5); /*String filename = extractFilename(line); line = line.substring(0, lowerCaseLine.indexOf('src') + 5) + directory + filename + line.substring(line.indexOf(filename) + filename.length()); */ // 如果該行存在多個<img>元素,則分行進(jìn)行替代 String[] splitLines = line.split('<imgs+'); // <img后帶一個或多個空格 // 因為java中引用的問題不能使用for each for (int i = 0; i < splitLines.length; i++) { if (splitLines[i].toLowerCase().startsWith('src')) {splitLines[i] = splitLines[i].substring(0, splitLines[i].toLowerCase().indexOf('src') + 5) + directory + splitLines[i].substring(splitLines[i].toLowerCase().indexOf('src') + 5); } }// 最后進(jìn)行拼接 line = ''; for (int i = 0; i < splitLines.length - 1; i++) { // 循環(huán)次數(shù)要-1,因為最后一個字符串后不需要添加<img line = line + splitLines[i] + '<img '; } line = line + splitLines[splitLines.length - 1]; } body = body + line + 'n';} } htmlReader.close(); // System.out.println(body); } catch (Exception e) { e.printStackTrace(); } return body; } /** * * @param htmlLine 一行html片段,包含<img>元素 * @return 文件名 */ public static String extractFilename(String htmlLine) { int srcIndex = htmlLine.toLowerCase().indexOf('src='http://www.lshqa.cn/bcjs/); if (srcIndex == -1) { // 圖片不存在,返回空字符串 return ''; } else { String htmlSrc = htmlLine.substring(srcIndex + 4); char splitChar = ’'’; // 默認(rèn)為雙引號,但也有可能為單引號 if (htmlSrc.charAt(0) == ’’’) {splitChar = ’’’; } String[] firstSplit = htmlSrc.split(String.valueOf(splitChar)); String path = firstSplit[1]; // 第0位為空字符串 String[] secondSplit = path.split('[/]'); // 匹配正斜杠或反斜杠 return secondSplit[secondSplit.length - 1]; } } }

補充知識:StandardEngine[Catalina].StandardHost[localhost].StandardContext[]

jar包沒有正確導(dǎo)入

1、在 build path 中添加

java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例

2、如果這里不添加在編譯的時你的jar包將不會被導(dǎo)入

java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例

3、如果依然沒有成功請刪除user jar包重新導(dǎo)入

以上這篇java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
主站蜘蛛池模板: 国产成人mv 在线播放 | 午夜欧美精品久久久久久久久 | 日韩精品免费视频 | 手机看片精品国产福利盒子 | 免费成人高清视频 | 精品视频一区二区三区在线观看 | 国产精品国产三级国产专区5o | 欧美人成人亚洲专区中文字幕 | 亚洲第5页 | 欧美在线观看高清一二三区 | 国产人成精品综合欧美成人 | 久草免费福利 | 日产国产精品亚洲系列 | 精品国产一区二区三区国产馆 | 免费一级在线观看 | 日韩欧美国产成人 | 国产二区精品 | a免费毛片在线播放 | 精品午夜国产在线观看不卡 | 国产成人午夜性视频影院 | 91亚洲精品国产第一区 | 久草经典视频 | 99精品99| 免费看a级片 | 日韩中文字幕在线亚洲一区 | 久久久美女视频 | 爽爽在线 | 久久国产免费一区二区三区 | 动漫精品一区二区 | 国产亚洲一区在线 | 日韩手机看片福利精品 | 国产a级精品特黄毛片 | 免费国产午夜高清在线视频 | 三级大片网站 | 国产成人做受免费视频 | 日本理论在线播放 | 久久久久久久国产免费看 | 九九视频在线观看视频 | 69凹凸国产成人精品视频 | 不卡精品国产_亚洲人成在线 | 日韩一区二区不卡 |