Jsoup学习笔记10:Saz2Csv解析器

经过了一系列的学习和摸索,Jsoup学习笔记即将告一段落,第11篇学习笔记将会把本篇实现的功能界面化,并做成一个可直接执行的exe文件。后续的项目如果需要更深入的学习Jsoup,还会继续更新。

本篇笔记主要是对前面的9篇笔记进行整合,初步实现saz格式文件到csv文件转换的基本功能,程序要实现的基本功能主要是:

1、saz文件遍历:获取Java工程所在目录的上层目录中,指定扩展名(.saz)的文件,

2、遍历获得的上层目录,复制包含指定文件(.saz)的所有文件夹,并在创建的同名文件夹中创建同名的csv文件,

3、解析每一个saz文件,并将解析数据写入创建的同名csv文件中

4、将java工程打包成双击即可执行的bat文件

学习过程中涉及的知识点主要有:

1、Jsoup解析字符串、html文档

2、Java IO类:输入输出流、压缩流(Zip流)

3、Java File类操作:文件及文件夹的遍历(递归)、读写、复制,批量修改文件后缀名,csv格式文件的读写

4、Java FilenameFilter类的使用:遍历指定后缀名的文件

5、Java中字符串的处理:String类和StringBuffer类,substring()、indexOf()、lastIndexOf()、replace()、replaceAll()、trim()、toLowerCase()、endsWith()、equals()、split()等方法的使用

6、Java类集:List,ArrayList,Iterator

7、Java中正则表达式的使用

8、Java工程如何打包成双击即可以执行的jar文件、bat文件

以上这些知识点的具体使用,网上都有相关的示例,当我们使用这些类和方法的时候,只需要了解其大概的用法或者查找相对应的API就可以,不需要死记硬背,遇到时再针对性的查找即可。

程序执行之前的文件夹目录结构(此时源文件夹中没有output文件夹,144P-1080P这6个文件夹里都包含有saz格式的文件,其他文件夹没有)如下图所示:

程序执行之后的文件夹目录结构如下图所示,在新创建的同名文件夹中生成了同名的csv文件,其中保存有解析出来的数据:

源程序下载地址:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-31 18:04:48

Jsoup学习笔记10:Saz2Csv解析器的相关文章

马程序员学习笔记——红黑树解析四

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 本篇是将上面三篇的理论知识转化成代码,java实现 首先,看一下算法导论里的伪代码 一.左旋 The pseudocode for LEFT-ROTATE assumes that right[x] ≠ nil[T] and that the root's parent is nil[T].(伪代码的左旋方法中假设X的右孩子不为空) LEFT-

马程序员学习笔记——红黑树解析二

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 四.树中删除元素 1.先找到需要删除的元素. 2. 2.1如果被删元素没有子元素,那么直接用NIL节点代替他: 2.2如果被删元素只有一个子元素,那么直接用这个子元素代替他: 2.3如果被删元素有两个子元素,那么就用左子元素中的最大元素或者右子元素的最小元素代替他. 比如说原来要删除的元素是N,N有两个分支,其中P是N左分支中的最大元素,那么就

nBodyCS<I>学习笔记之计算着色器

nBodyCS<I>学习笔记之计算着色器 Nvidia-SDK(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. DirectX一直是Windows上图形和游戏开发的核心技术.DirectX提供了一种在显卡上运行的程序--着色器(Shader).从DirectX11开始,DirectX增加了一种计算着色器(Compute Shader),它是专门为与图形无关的通用计算设计的.因此DirectX就变成了一个通用GPU计算的平台.鉴于GPU拥有极其强大的并行运算能力,学习使用Direct

jQuery学习笔记10:Ajax技术

jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. jQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load().$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法. 函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求. .ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序.这是一个

Android:日常学习笔记(10)———使用LitePal操作数据库

Android:日常学习笔记(10)---使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表.増删改查的操作.并且LitePal很"轻",jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别.目前LitePal的源码已经托管到了GitHub上. 关

sqlite学习笔记10:C语言中使用sqlite之查询和更新数据

前面说到的 sqlite_exec() 中的第三个参数, SQLite 将为 sql 参数内执行的每个 SELECT 语句中处理的每个记录调用这个回调函数. 本节添加了两个函数,selectFromTable和updateTable. 实例程序如下: #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db&quo

lua学习笔记10:lua简单命令行

前面多次用了命令行,这次就好好学下命令行: 一 格式 lua [options][script][args] 二 具体命令 -e 直接将命令传个lua -l 加载一个文件 -i 进入交互模式 例如,终端输入: lua -e "print(math.sin(12))" lua学习笔记10:lua简单命令行,布布扣,bubuko.com

python基础教程_学习笔记10:异常

异常 什么是异常 Python用异常对象来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行: >>> 1/0 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 1/0 ZeroDivisionError: integer division or modulo by

Perl语言学习笔记 10 其他控制结构

1.unless控制结构 条件为假时执行,与if相反 可以附带else 2.Until控制结构 条件为假时执行,一直执行到条件为真: 3.条件修饰词 效果等同于: 类似的模式: 4.裸块控制结构 { body; body; .... } 有利于为临时变量圈定有效范围 5.elsif子句 6.自增.自减 同c语言 7.for 用法同c语言 8.for与foreach 在perl中,两者等价,优先选择纯正的foreach 9.5种循环块:for.foreach.while.until.裸块 last