首页 > 其他分享 >缓冲流和交换流

缓冲流和交换流

时间:2023-03-19 15:23:12浏览次数:39  
标签:字符 字节 缓冲 交换 jdk11 内存 缓冲区

缓冲流(底层自带长度为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

相关文章