* 这个文件实现了:将指定目录下缓段的所有htm和html文件的<title>标签的值,替换成文件名(不含后缀)。
*/
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.io.OutputStreamWriter
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
public class Rename {
public static void main(String[] args) {
// 默认文件夹路径
String path = "C:\\report"
if(args != null &&args.length >0){
path = args[0]
}
try {
renameHTMLTitle(path)
} catch (IOException e) {
e.printStackTrace()
}
}
public static void renameHTMLTitle(String dir) throws IOException {
File f = new File(dir)
if (f.isDirectory()) {
File fs[] = f.listFiles()
for (File s : fs) {
String title = s.getName().replaceAll(".htm", "").replaceAll(".html", "")
if(s.getName().contains(".htm") || s.getName().contains(".html")){
Document doc = Jsoup.parse(s, "gb2312")
Element titleEl = doc.select("title").first()
titleEl.html(title)
/*
* Jsoup只是解析,不能保存修改前哪兆,所以要在这里保存修改。慧租
*/
FileOutputStream fos = new FileOutputStream(s, false)
OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312")
osw.write(doc.html())
osw.close()
}
}
}
}
}
public void parse(){
String htmlStr = "<table id=kbtable >"
+ "<tr>"
+ "<td width=123>"
+ "<div id=12>这里是要获取的数据1</div>"
+ "<兆银div id=13>这里是要获取的数据2</div>"
+ "</td>"
+ "<td width=123>"
+ "<div id=12>这里是要获取的数据3</div>"
+ "<div id=13>这里是要获取的数据4</div>"
+ "</td>"
+ "</隐盯tr>"
+ "</table>"
Document doc = Jsoup.parse(htmlStr)
// 根据id获取table
Element table = doc.getElementById("kbtable")
// 使用选择族携宴器选择该table内所有的<tr><tr/>
Elements trs = table.select("tr")
//遍历该表格内的所有的<tr><tr/>
for (int i = 0i <trs.size()++i) {
// 获取一个tr
Element tr = trs.get(i)
// 获取该行的所有td节点
Elements tds = tr.select("td")
// 选择某一个td节点
for (int j = 0j <tds.size()++j) {
Element td = tds.get(j)
// 获取td节点的所有div
Elements divs = td.select("div")
// 选择一个div
for (int k = 0k <divs.size()k++) {
Element div = divs.get(k)
//获取文本信息
String text = div.text()
//输出到控制台
System.out.println(text)
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)