缓冲流(底层自带长度为8192的缓冲区提高性能)
-
字节缓冲流(显著提高读写性能)
-
BufferedInputStream字节缓冲输入流
- 1.把基本流包装成高级流,提高读取数据的性能
- 2.真正进行读取的还是基本流
- 3.在内存中创建一个缓冲区,优先将尽可能多的数据放入缓冲区,减少硬盘文件放到内存中的次数,提高效率
-
BufferedOutputStream字节缓冲输出流
-
1.把基本流包装成高级流,提高写出数据的性能
- 2.真正进行读取的还是基本流
-
3.在内存中创建一个缓冲区,优先将尽可能多的数据放入缓冲区,减少内存放到硬盘中的次数,提高效率
-
4.只有3种情况会将数据写入文件(1.缓冲区存满2.缓冲区未满,进行刷新,3.缓冲区未满,释放资源时)
-
字符缓冲流(对字符流性能提升不明显,因为其自带缓冲区)
-
BufferedReader字符缓冲输入流
-
1.特有方法 readLine()读取一行
-
BufferedWriter字符缓冲输出流
- 1.特有方法newLine()跨平台换行
交换流(字符流和字节流之间的桥梁,解决乱码问题)
- InputStreamRader交换输入流
jdk11以前可以用起构造方法关联一个文件字节输入流对象和编码方式 来指定编码格式
jdk11之后可以用new FileReader(file,charset.forName("编码格式"))来指定
- OutputStreamWrite交换输出流
jdk11以前可以用起构造方法关联一个文件字节输出流对象和解码方式 来指定解码格式
jdk11之后可以用new FileWriter(file,charset.forName("编码格式"))来指定
标签:字符,字节,缓冲,交换,jdk11,内存,缓冲区 From: https://www.cnblogs.com/zlsame/p/17233304.html