1.异常
异常概述:就是对Java程序运行过程中出现的问题的命名
异常处理方式:
try...catch.finally:涉及到释放资源和后续代码必须执行时
throws:异常应该交给调用者处理时,或者异常不需要处理时(确保异常肯定不会发生时)
throw:抛出自定义异常时
子父类异常的注意事项:父类方法没有抛出异常,子类方法就不能抛出
2.File类
过滤器
3.递归
递归概述:就是方法内部调用方法自身的一种现象
递归注意事项:
递归的次数不能太多,否则内存就溢出了,程序就奔溃了
递归要有出口,否则内存就溢出了,程序就crash
构造方法不能递归
递归如何定义?
找到规律
找到出口
4.IO流
IO流概述:就是为了解决设备之间数据传递的
IO流分类:
字节流:
字节输出流基类:OutputStream
FileOutputStream:文件输出流,字节数据写入到File中
BufferedOutputStream:字节缓冲输出流,内部维护了一个缓冲区,提高了字节数据的写出速度
ByteArrayOutputStream:字节数组输出流,字节数据写入到ByteArray中
ObjectOutputStream:将一个对象写出到底层流中,Java序列化
字节输入流基类:InputStream
FileInputStream:文件输入流,从File中读取字节数据
BufferedInputStream:字节缓冲读取流,内部维护了一个缓冲区,提高了字节数据的读取速度
ByteArrayInputStream:字节数组输入流,从ByteArray中读取字节数据
ObjectInputStream:将字节数据转换成对象,Java反序列化
字符流:字节流+编码表
字符输出流基类:Writer
OutputStreamWriter:字节输出流+编码表,是字符流通向字节流的一个桥梁,内部涉及编码
FileWriter:是OutputStreamWriter便捷类,只能使用默认的缓冲区和默认的编码集
BufferedWriter:字符缓冲输出流,内部维护了一个缓冲区,提高了字符数据的写出速度
newLine:针对不同系统输出不同的换行分隔符
字符输入流基类:Reader
InputStreamReader:字节输入流+编码表,是字节流通向字符流的一个桥梁,内部涉及解码
FileReader:是InputStreamReader便捷类,只能使用默认的缓冲区和默认的编码集
BufferedReader:字符缓冲输入流,内部维护了一个缓冲区,提高了字符数据的读取速度
readLine:可以直接读取一行