IO流
目录
1、无缓冲区(要通过中间数组,如byte数组和char数组,细粒度)
特点
- 构造方法传入的是一个地址
- 只能一个一个读,操作很精细
FileInputStream
别忘记
- close()
FileOutputStream
别忘记
- flush()
- close()
注意下面的代码块(理解):
{
FileOutputStream a = new FileOutputStream("文件路径");
a.write(byte[] b);
}
反复执行会覆盖文件内容
但是!
{
FileOutputStream a = new FileOutputStream("文件路径");
a.write(byte[] b);
a.write(byte[] b);
a.write(byte[] b);
}
可以连续写3次不覆盖!
理解上面两种的区别:
- 第一种需要用到append参数,用处是把上面两行代码封装到一个函数里面,每次调用的时候都可以在文件的末尾追加数据,而不会覆盖。
- 第二种方法就适用于平常写代码进行测试的时候。
2、带缓冲区的(日常能用到)
特点
- 构造方法传入的是一个节点流
- 可以一行一行地读
- 可以换行
理解缓冲区的概念
无缓冲区的要通过中间数组,这个中间数组就相当于缓冲区,能把数据打包成一团然后传送给接收方。
3、转换流
核心:3重套娃
4、理解file单词
既可以代表一个路径,也可以代表一个文件名。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现