随笔 - 49  文章 - 0  评论 - 0  阅读 - 2266

缓冲流和交换流

缓冲流(底层自带长度为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("编码格式"))来指定

 

posted on   zl子路  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示