异常
异常体系
java.lang.Throwable
Exception
-
RuntimeException
-
其他异常 编译异常
-
运行时异常 编译阶段不会出现异常
-
数组索引越=界
-
java不会干扰你 一般低级错误
-
-
编译阶段异常 日期解析异常
-
铺货异常 try { } catch(ParseException a){ a.printStackTrace();}
-
抛出异常 类 throws PasrseException
-
自定义异常
throws
try-catch
异常对象封装问题
运行时异常
-
定义一个异常类 必须继承 extends RuntimeException
-
重写构造器
-
无参
-
有参
-
传出一个String
-
super(这个String)
-
-
-
通过throw new 异常类(xxx)来创建异常对象并抛出
编译时异常
-
定义一个异常类继承Exception类
throw 抛出这个异常对象
throws 用在方法上 抛出方法内部的异常
异常处理
-
底层异常往外抛 在最外层 捕获异常 记录异常并响应合适的信息给用户
-
捕获异常 尝试重新修复
JDK8新特性
Lambda表达式
前提 并不是说简化全部匿名内部类的写法 只能简化函数式接口的匿名内部类
格式
(被重写方法的形参列表)->{
被重写方法的方法体代码
}
stream流
File代表文件
IO读写数据
FILe是java.io 包下的类
file只能对文件本身进行操作 无法对文件内容进行操作
IO流 可以读写数据
创建对象
创建file对象指代某个具体文件
路径 :\\反斜杠双写 /斜杠不双写
分隔符 File.separator一般跨平台使用
file对象可以指向文件夹
也可以指代不存在的文件
常用方法
判断文件类型
exists 判断是否存在
isFile 判断是否文件
isDirectory 判断是否文件夹
getName 获取文件名称 包括后缀
length 获取文件大小
lastModified 获取文件最后修改时间
getPath 获取创建文件对象时使用的路径
getAbsolutePath 获取绝对路径
创建文件 删除文件
createNewFile 创建文件 程序担心不存在该路径会报错 直接抛出异常即可
mkdir 创建文件夹 只能创建一级文件夹
mdirs 创建文件夹 可以创建多级文件夹
delete 删除文件或空文件夹 不能删除非空文件夹 删除数据不会进入回收站
遍历文件夹
list 获取当前目录下所有一级文件 返回String数组
listFiles
-
获取当前目录下所有一级文件对象到一个文件对象数组中
-
如果有隐藏文件 依旧可以返回
-
如果没有权限访问 返回null
特殊文件
普通文件 txt
随意写 随便写
属性文件 properties
每行存放一个键值对信息 存放用户名密码
xml文件
存储有关系的数据 作为系统的配置文件
Properties属性文件
只能是键值对
键不能重复
文件后缀是.properties
Properties
-
是一个Map集合 但是一般不当集合使用
-
核心作用 通过Properties可以读写属性文件里的内容
读取数据
-
创建properties对象(键值对集合 空容器)
-
开始加载属性文件中的键值对数据到properties对象中去
-
根据建取值 getProperties
-
遍历键 PropertyNmaes
XML文件
可扩展标记语言
-
<标签名> 成为一个标签或一个元素 一般成对出现
-
标签名 可以自己定义 但必须要正确嵌套
-
xml中只能有一个根标签
-
xml标签可以有属性
解析xml文件数据
Dom4j 解析xml框架
-
创建解析器对象
-
使用saxReader对象把需要的xml文件读成一个document对象
-
从document解析xml全部数据
trim取出文本去除空格
写出到xml文件
把程序中的数据拼接成xml格式数据 然后使用字节输出流输出
约束xml文件编写
限制xml文件只能按照某种格式进行书写
约束文档 专门限制xml书写格式的文档
-
DTD文档 不能约束具体数据类型
-
Schema文档 .xsd
xml文件与html文件区别
xml区分大小写
日志技术
把程序运行的信息 记录到文件中去 方便程序员定位bug 了解程序执行的情况等
日志技术体系
日志框架
-
JUL (java.util.loggiing)
-
Log4j
-
logback
-
logback-core
-
logback-classic
-
logback-access
-
-
其他
日志接口
-
JCL
-
SLF4J
实现步
junit框架
单元测试
针对最小的功能单元进行测试 编写测试代码对其进行正确性测试
junit单元测试框架
编写测试方法 公共 无参 无返回值 声明@test注解
断言机制 Assert.assertEquals
@after 会在每一个测试方法执行之后执行
@before 会在每一个测试方法执行之前执行
@beforeClass 修饰静态方法 在所有测试方法之前只执行一次
@afterClass 修饰静态方法 在所有测试方法之后执行一次
before 一般初始化资源
after 一般释放资源
语句覆盖:确保代码中的每个语句至少执行一次。
分支覆盖:确保代码中的每个分支(如if-else语句)至少执行一次。
条件覆盖 确保代码中的每个布尔子表达式(如if语句中的条件)的结果(真/假)都至少执行一次。
路径覆盖:确保代码中的所有可能路径都至少执行一次。