一、如下分类
二、字节流
字节流读数据
如下是一个文件复制代码,之所以如下write方法要加长度,一是因为read方法不是覆盖去读,
如下是缓冲流说明,缓冲流中数组是在内存中的,肯定比字节流直接写到硬盘要快啊。
三、字符流
如下是相关编码解码常识
如下是java中编码和解码的一些用法
因为字节流读取中文会出现乱码问题(根本原因是编码和解码方法不一致),但是字符流本来就一个个字符的操作,也减少了乱码问题,所以总结如下
在如上字符流总结中可以看出,字符流有flush方法,但是前面的字节流没有,字符流如果不执行刷新流,是不像字节流那样直接写进硬盘的。
四、转换流(代码中如下两个类是FileWriter和FileReader的父类)
转换流如下,并且可以指定编码,防止乱码,但是jdk11之后FileReader的构造函数也可以指定编码,此时就不用单独用转换流了。
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("demo1\\hhh.txt"),"GB18030");
int read = inputStreamReader.read(); //这样指定编码就不是FileInputStream的read方法返回一个字节了,而是转换流InputStreamReader的read方法,是返回一个字符,这也照应了上面说明是字节到字符的
转换流
System.out.println((char)read);
五、如下是对象操作流(ObjectOutputStream和ObjectInputStream)
六、如下是Properties中与流相关的操作,properties继承map,所以有map的许多方法
样例使用如下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理