用Jsoup解析HTML文件,并保存到本地_静思映雪的博客-程序员秘密

技术标签: Java  web  

需要引入的Jsoup.jar包:jsoup.jar

推荐阅读的jsoup使用教程:使用JSOUP处理HTML文档


以下是实现Jsoup解析HTML文件,并保存到本地的Java代码:

/**
 * 这个文件实现了:将指定目录下的所有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();
				}
			}
		}
	}
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JustOneRoad/article/details/8125236

智能推荐

高通Display架构_高通np925 display_suvine的博客-程序员秘密

一、高通Display硬件架构: A、MDP高通MSM8x25内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RGB,放大缩小、旋转等。MDP内部的MDP DMA负责数据从DDR到MDDI Host的传输。B、MDDI一种采用差分信号的高速的串行数据传输总线,只负责数据传输,无其它功能;其中的MDDI Hosat提供并行数据和串行数据之间的转换和缓冲功能。由

Ladon枚举远程主机网卡信息(OXID定位多网卡主机)_dcom 获取网卡信息_k8gege的博客-程序员秘密

前言OXID Resolver是在支持COM +的每台计算机上运行的服务。它执行两项重要职责:存储与远程对象连接所需的RPC字符串绑定,并将其提供给本地客户端。将ping消息发送到本地计算机具有客户端的远程对象,并接收在本地计算机上运行的对象的ping消息。我们只需要向远程主机发以下两个包,再解析返回结果即可。 static byte[] s1 ={0x05,0x00,0x0b,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x01,

释放内存资源_df3855的博客-程序员秘密

在维护AccessImport的程序中,发现内存消耗很大。跟踪发现很大一部分原因是dataset消耗的。.net虽然提供了内存的自动回收机制,但显示的释放一些资源还是有必要的。释放资源的方法有两种方法:  1、显式调用dispose()       说明:就是在使用完一个dataset后(或其他消耗内存比较大的控件^_^),调用以下dispose()方法. 2、使用using语句块

map, hash_map,unordered_map_LJDaisy的博客-程序员秘密

map, hash_map,unordered_map Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据

求平方根sqrt()函数的底层算法效率问题_wqw_dream的博客-程序员秘密

<br />     最近写一些小程序时候碰到了求平方根的问题,不想调用系统的sqrt()的函数,于是想自己写一个,想了半天没想到好的方法,就上网搜了一下,结果看到了这篇文章,于是转过来。原文如下:<br />      我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?<br />虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,

ANSA二次开发在线帮助:ANSA和μETA API文档_ansa and eta api_CaeCoder的博客-程序员秘密

  为了方便大家学习ANSA二次开发,我将ANSA和μETA二次开发的官方文档整合到了我的个人网站CAECoder中,大家点击ANSA和μETA API官方帮助文档进行访问即可查看。  本站也将开展对ANSA和μETA API文档的翻译工作,请大家持续关注!ANSA和μETA API文档  ANSA和μETA脚本接口是一个应用程序编程接口(API),允许开发人员访问ANSA和μETA核心功能和数据。  ANSA和μETAAPI是Python编程语言的扩展。PythonPython简.

随便推点

stm32f4通过配置寄存器和位操作实现跑马灯_叫啥好呢呜呜呜的博客-程序员秘密

stm32f4通过配置寄存器和位操作实现跑马灯寄存器实现如下图所示为LED和stm32f4的硬件连接图,在此通过配置GPIOF_9输出高低电平以实现LED0的闪烁:在配置GPIOF_9之前需要先使能GPIO的外设时钟,可以通过配置RCC AHB1寄存器实现,RCC AHB1寄存器如下图所示:从图中可以看出,要使能GPIOF只需要对该寄存器的第5为置位即可,对于置位操作,只需要将该位与1相或即可,即:RCC-&gt;AHB1ENR |= 1&lt;&lt;5;接下来就该初始化GPIOF_9了

【打印机】斑马打印机指令简介_zebra斑马打印机指令一次打印多联_百分之50的博客-程序员秘密

斑马打印机指令简介 0、打印方法 打印机使用RS232通信,直接通过串口将指令发送字符串即可。1、Hello World! 指令:^XA^JMA^LL200^PW680^MD10^PR2^PON^LRN^LH0,0^FO10,30^A0N,72,72^FD Hello World!^FS^XZ实现效果: 说明: 打印机的指令用“^”作为开头,任何打印指...

设置笔记本电脑插入USB鼠标时,自动禁用触摸板_win7笔记本外接鼠标后触摸板自动关闭_selina8921的博客-程序员秘密

win7/8系统:1、首先到网上下载一个Synaptics触摸板驱动并安装,安装完后重启计算机;(已安装Synaptics触摸板驱动忽略此步骤)2、然后WIN+R,打开运行对话框,输入“regedit”,回车打开注册表→依次展开HKEY_CURRENT_USER/Software/Synaptics/SynTPEnh。3、然后鼠标右键选择“新建DWORD(32位-值)”命名为DisableIntPDFeature,修改值为3,再右键→新建DWORD(32位-值) 命名为ShowdisableIco

基本可编程芯片初始化字8255、8253、8259_翻滚de蛋炒饭的博客-程序员秘密

基本可编程芯片8255初始化控制字 8255初始化控制字 D7 D6 D5 D4 D3 D2 D1 D0 1 A口工作方式 A口输入输出 C口高四位IO B口工作方式 B口IO C口低四位IO 1 00|01|10|1X(三...

SpringAOP获取方法参数上的注解_invocation 获取注解_laoxilaoxi_的博客-程序员秘密

一、示例① 如下代码,自定义一个参数注解@Test,并将其使用到方法参数上,用于标注需要检验的参数/*** 自定义注解,用于参数*/@Target(PARAMETER)@[email protected](RetentionPolicy.RUNTIME)public @interface Test{}/*** 接口层,使用使用@Test注解标记参数*/@R...

室内外融合一体化智能定位-室内定位-蓝牙定位-新导智能_A-Emma.J ?的博客-程序员秘密

导读:随着物联网技术的发展,能够迎合室内定位的技术也逐渐增多,在市场上不断的更新迭代下,需要室内定位来维护与管理企业的各项事务也越来越多,例如医院需要室内定位来管理人员的安全问题,医院需要室内定位系统来管理日常设备的维护等等.一.系统原理苏州新导室内外融合定位系统利用先进的IOT、GNSS、MEMS、Wireless等技术手段,围绕客户的不同工作/生活场景,面向B端(企业)或G端(政府)等提供基于无线传感网络的智能化识别、定位、跟踪、监控和管理的综合一体化物联系统,并在此基础上提供实时、便捷、经济...

推荐文章

热门文章

相关标签