缓冲流和交换流
缓冲流(底层自带长度为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("编码格式"))来指定
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现