一、java学习 | IO框架【9】

文章介绍了Java中的流概念,包括内存与存储设备间的数据传输通道。流主要分为输入流和输出流,按单位分为字节流和字符流,按功能分为节点流和过滤流。字节流和字符流各有其抽象基类及缓冲、对象处理等功能。编码方面提到了ISO-8859-1和UTF-8等。File类用于表示文件和目录,而Properties类用于存储属性键值对,线程安全且与流操作相关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.流的概念
内存与存储设备之间传输数据的通道,

2.流的分类
按方向:输入流:将存储设备中的内容读入内存
输出流:将内存的内容写入到存储设备
按单位:
字节流:以字节为单位,可以读写所有数据
字符流:以字符为单位,只能读写文本数据
按功能:
节点流:具有实际传输数据的读写功能
过滤刘:在节点流的基础上的增强功能

3.字节流

字节输入流:抽象类InputStream()
字节输出流:抽象类OutputStream()

字节缓冲流:
提高IO效率,减少访问磁盘次数
数据存储在缓冲区,flush讲缓冲区内容写入文件中,也可以直接关闭

字节对象流:
增强了缓冲区功能
增强了读写8种基本数据类型和字符串功能
增强了读写对象的功能:读取和写入对象
使用流传输对象的过程称为序列化(写入到文件)和反序列化(读取到内存)

4.编码方式
ISO-8859-1 美国用在这里插入图片描述
**UTF-8:**针对Unicode的可变长度字符编码
GB2312 简体中文
GBK 简体中文,扩充
BIG5 台湾,繁体中文

5.字符流
一个中文字3个字节
Reader和Writer
文件字符流:FileReader/FileWriter
字符缓冲流:BufferedReader/Writer
高效读写
支持输入换行符
可一次写一行、读一行

5.5 打印流 PrintWriter 继承了writer类
桥转换流InputStreamReader和OutputStreamReader(字符与字节的转换)
可将字节流转为字符流
可设置字符的编码方式

6.File类
代表物理盘符中的一个文件或者文件夹
方法:
在这里插入图片描述
FileFilter接口:文件过滤器
通过接口的实现类boolean accept() 来完成对指定文件的过滤,获得自己想要的文件

Properties:属性集合 线程安全
特点:
1 存储属性名和属性值
2 属性名和属性值都是字符串类型
3 没有泛型
4 和流有关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值