面试常问写出几个运行时异常
1ArrayIndexOutofBoundsException数组索引异常(超过数组大小)
2NUllpointException空指针异常(null的length)
3ClassCastException类型转换异常(int转string)
4ArithemeticException数字操作异常(除0)
5NumberformatException数字转换异常(字符串转int)
善意的提醒你看一看,如果没问题就抛出异常,运行时异常的错误不容易犯,没必要提醒默认的异常处理方式是层层往上抛结束运行
自我干预异常处理:
快捷键直接alt+回车
如果多行就cirl+alt+t
打印异常栈信息
运行时异常的处理方式:
运行时异常自动抛出,在外层捕获处理就行
自定义异常
注意throw和throws的区别
日志框架
文件的操作
字节流音视频文件,字符流文本文件
file创建对象支持绝对路径也支持相对路径
mkdir创建一级,mkdirs创建多级
递归
字符集
每个国家的字符都有自己特色的首字节,如首字节负数就说明是中文,那读三个字节
IO流
String =new String(byte[],几开始,读取长度);
写字节的时候写完一定要刷新,然后释放流,直接释放流就自动刷新了
每次学数据都会把之前的数据清空,因为管道一创建就会清空,可以再定义留的时候加个参数true就变成了追加数据
总结:字节流适合做文件的拷贝,不适合中文的输入输出
资源释放的两种方式
try catch finally
在trycatch之外也能用,但是trycatch之外已经关闭了,所以没意义,更多的还是trycatchfinally
字符流的读取