1、输出流
1.1、FileOutputStream(字节输出流)
-
可以写入二进制或者文本文件,写入单位是字节,一个可以写入一个或者多个字节
-
可以操作文件
1.2、BufferedOutputStream(字节缓冲输出流)
- 作用和FileOutputStream差不多,但是是先写入缓冲区,再写入硬盘
- 效率更快
1.3、FileWriter(字符输出流)
- 可以到硬盘中读取文本文件,单位是字符
- 一次能够读取一个或多个字符
- 和FileReader一样,也是富二代流,继承父类OutputStreamWriter的所有方法
1.4、BufferedWriter(字符缓冲输出流)
- 和FileWriter类似,但有一个特殊的API,newLine() 可以对写入的字符进行换行
2、输入流
2.1、FileInputStream(字节输入流)
- 一次读入一个或多个字节,单位是字节
- 从内存到硬盘中读取数据
2.2、BufferedInputStream(字节缓冲输入流)
- 和FileInputStream差不多,但是多一个缓冲区,效率更高
- 硬盘先读取到缓冲区,在读取到内存中
2.3、FileReader(字符输入流)
- 写入字符到文本文件,单位是字符,相对于字节流,不会乱码
- 是一个富二代流,所有的方法都继承自InputStreamReader
2.4、BufferedReader(字符缓冲输入流)
- 和FileReader类似的输入流,有缓冲区,写入单位是字符,比FileReader多一个API readLine() 一次读取一行