java基础6:异常、树、字符流、字节流、高效缓冲流

异常:
Throwable:可抛出是异常的顶层父类
Error:是Throwable的子类,用于描述无法捕获和处理的异常,属于非常严重的错误。
Exception:值Throwable的子类,用于描述可以捕获和处理的异常,属于不太严重的错误。
RuntimeException:是exception的一个子类,在编译阶段不做检查的一个异常。
Jvm中处理异常的机制:出现异常将该异常封装到一个异常对象中,再将异常对象抛给该对象的方法,然后一层一层向上抛给虚拟机通过打印流打印出来。
Try…catch:try{可能发生异常的代码}catch(可能出现的异常类型 标识符){出现异常以后的处理方式}
Try…catch…catch…:try{可能出现异常的语句体}catch(异常类型1 标识符){出现异常1以后执行的语句}catch(异常类型2 标识符){出现异常2后执行的语句体}…catch(异常类型n 标识符){出现异常n以后应该执行的语句}
Try…catch…finally:try{可能出现异常的语句体}catch(异常类型 标识符){出现异常后执行的语句}finally{一定会执行的语句体}
Try…finally…:try{可能出现异常的语句体}finally{一定会执行的语句体},程序在执行的过程中出现异常会直接结束虚拟机,但是finally中的方法还是会执行完毕。
编译时期的异常和运行时期的异常:都只能在编译器发生,编译时期异常(RuntimeException除外)exception及其子类,运行时期的异常RuntimeException及其子类。
自定义异常类型:定义一个类以exception结尾,让这个类继承一个exception或者runtimeException,再手动添加一个构造方法。
Throw和Throws关键字:
Thow用于抛出一个异常对象,throws用于跑出一个异常类型,可以跟多个异常对象。
File类:
路径:用于描述文件或者文件夹所在的位置,绝对路径(计算机的盘符开始的路径,虚拟机/开始的路径),相对路径(相对于某个路径而言)
树:
平衡二叉树(BST):左子树的任意一个节点的值小于根节点小于右子树的任意一个值。
平衡二叉树(AVl):左右子树的平衡因子(左子树的高度减右子树的高度)的绝对值小于1,其左右子树都是平衡二叉树。
红黑树(R-B):根节点是黑色的,所有的叶子结点都是黑色同时都是空节点,红色节点的子系节点都是黑色,每个节点到其子系节点的路径上的黑色节点个数相同。
B-树:根节点至少有两个子树,除根节点以外的非叶子节点的子树个数为[M/2,M],每个结点存放至少M/2-1(取上整)和至多M-1个关键字
B+树:有n棵子树的结点中含有n个关键字,每个关键字不保存数据,只用来索引,所有数据都保存在叶子节点。
B*树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率提高2/3左右。
字节流:
字节输入流:InputStream,FileInputStream(File f)将File对象封装为字节流,FileInputStream(String Path)将字符串封装为字节流,分别对其进行读取。
字节输出流:OutputStream,FileOutputStream(File f)将File对象封装为输出字节流对象,FileOutputStream(String Path)将文件路径封装为字输出节流对象。
字符流:
字符流遇到英文一次性可以读取一个字节,遇到中文一次性可以读取两个字节,如果遇到中英文混合输入的内容一定会出现乱码现象。
字符输入流:Reader,FileReader创建对象
字符输出流:Writer,FileWriter创建对象
高效缓冲流:
是包装类,本身不具备读写功能,基于某个流的基础之上有加强作用,提高传输效率。
BufferedInput(InputStream is):将指定的字节输入流传到构造方法的参数中,形成一个加强版本的字节输入流。
BufferedOutput(OutputStream os):将指定的字节输出流传到构造方法的参数中,形成一个加强版本的字节输出流。
Close与flush:close使用的过程中会先调用flush方法,然后关闭流对象,flush方法只是将缓冲区中的数据刷新到文件中。
BufferedReader:readLine(),可以一次性读取一行数据,到达文尾返回null。
BufferedWriter:newLine(),换行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值