【本周总结】
1. Java学习
1.异常
- 一个方法在执行的过程中如果产生了异常,那么需要在方法后面使用throws来抛出(生成)一个代表该异常的对象,并自动把它交给系统处理
- throw 语句 的作用其实就是检测到执行方法时出现的异常,停止执行程序 ,然后将异常显示在控制台
- try catch 捕获异常的代码 ,那么就可以处理异常,这样就会避免程序停止执行
-
- try {
有可能发生异常的代码
} catch (有可能产生的异常类 变量名){
若该异常产生,则进行此处操作
}
- try {
-
- try和catch均可有多个
-
- 可在catch代码块后面添加finally代码块,无论前方代码是否有异常,finally代码块都会执行
2.IO流
- InputStream 字节输入流(把硬盘中的字节输入到内存中)
-
- FileInputStream 文件字节输入流
读取文件中的字节到内存中
使用之后需要使用close方法关闭流
每次读取一个字节,或者使用字节数组读取多个字节
- FileInputStream 文件字节输入流
-
- BufferedInputStream 字节缓冲输入流
会附带一个默认的缓冲区,将读取到的字节暂时存储在缓冲区里,一次性进行传输,效率很高
- BufferedInputStream 字节缓冲输入流
- OutputStream 字节输出流(把内存中的字节输出到硬盘中)
-
- FileOutputStream 文件字节输出流
读取内存中的字节到文件中
使用构造方法时,可以通过一个Boolean参数来决定是否覆盖已存在的文件
若Boolean参数为true,输出流不会刷新所指向的文件(假如文件已存在)
若Boolean参数为false,输出流将刷新所指向的文件(假如文件已存在)
读取完成后需要使用flush方法将其读取的数据刷入文件中(若无该操作,close方法会默认进行该操作,然后关闭流)
使用之后需要使用close方法关闭流
每次读取一个字节,或者使用字节数组读取多个字节
- FileOutputStream 文件字节输出流
-
- BufferedOutputStream 字节缓冲输出流
会附带一个默认的缓冲区,将读取到的字节暂时存储在缓冲区里,一次性进行传输,效率很高
- BufferedOutputStream 字节缓冲输出流
- Reader 字符输入流
-
- FileReader 文件字符输入流
读取文件中的字符到内存中
使用之后需要使用close方法关闭流
每次读取一个字符,或者使用字节数组读取多个字符
- FileReader 文件字符输入流
-
- BufferedReader 字符输入缓冲流
会附带一个默认的缓冲区,将读取到的字符暂时存储在缓冲区里,一次性进行传输,效率很高
- BufferedReader 字符输入缓冲流
- Writer 字符输出流
-
- FileWriter 文件字符输出流
读取内存中的字符到文件中
使用构造方法时,可以通过一个Boolean参数来决定是否覆盖已存在的文件
若Boolean参数为true,输出流不会刷新所指向的文件(假如文件已存在)
若Boolean参数为false,输出流将刷新所指向的文件(假如文件已存在)
读取完成后需要使用flush方法将其读取的数据刷入文件中(若无该操作,close方法会默认进行该操作,然后关闭流)
使用之后需要使用close方法关闭流
每次读取一个字符,或者使用字节数组读取多个字符
- FileWriter 文件字符输出流
-
- BufferedWriter 字符输出缓冲流
会附带一个默认的缓冲区,将读取到的字符暂时存储在缓冲区里,一次性进行传输,效率很高
- BufferedWriter 字符输出缓冲流
3.转换流
- OutputStreamWriter 读取字符转化为原始字节
-
- 构造方法时可以需构造一个字节输出流,也可选择转换的码表,若不选择则默认为系统码表
读取完成后需要使用flush方法将其读取的数据刷入文件中(若无该操作,close方法会默认进行该操作,然后关闭流)
使用之后需要使用close方法关闭流,无需对字节输出流进行关闭,关闭该流的同时也会关闭字节输出流
- 构造方法时可以需构造一个字节输出流,也可选择转换的码表,若不选择则默认为系统码表
- InputStreamReader 读取原始字节转化为字符
-
- 构造方法时可以需构造一个字节输出流,也可选择转换的码表,若不选择则默认为系统码表
使用之后需要使用close方法关闭流,无需对字节输出流进行关闭,关闭该流的同时也会关闭字节输出流
- 构造方法时可以需构造一个字节输出流,也可选择转换的码表,若不选择则默认为系统码表
4.序列与反序列
- 序列与反序列化需要实现 Java Serializable 接口
- ObjectOutputStream 对象输出流
-
- 把对象转换为字节序列的过程称为对象的序列化
将对象转化为字节之后方便输出
- 把对象转换为字节序列的过程称为对象的序列化
- ObjectInputStream 对象输入流
-
- 把字节序列恢复为对象的过程称为对象的反序列化
把字节序列转化为一个对象
- 把字节序列恢复为对象的过程称为对象的反序列化