集合与IO(3)

文章介绍了红黑树的五个特征,包括节点颜色、根节点颜色等。同时,详细阐述了Java中的流分类,如输入流、输出流、节点流和处理流,并对比了字节流与字符流的区别,强调字符流在处理文本文件时的便利性和避免编码问题的重要性。

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

红黑树有什么特征?

1.每个节点不是黑色就是红色
2.根结点是黑色
3.每个叶子节点都是黑色(叶子节点:下面没有分叉出子节点的节点)
4.如果一个叶子节点是红色,那么其子节点必须都是黑色的
5.从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点

Java中有几种类型的流

**按照流的方向:**输入流、输出流
按照实现的功能:
1.节点流:可以向一个特定的节点读写数据
2.处理流:对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。
处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。
按照处理数据的单位
字节流:继承于InputStream和OutputStream
字符流:继承于InputStreamReader 和 OutputStreamWriter

字节流和字符流的区别

字节流一般用来处理图像、视频、音频、PPT、Word等类型的文件。
字符流一般用来处理纯文本类型的文件,如TXT文件等,但不能处理图像视频等非文本文件。

字节流本身没有缓冲区。缓冲字节流相对于字节流,效率提升非常高。而字符流本身就带有缓冲区,缓冲字符流相对于字符流效率提升不是很大。

字节流有了为什么还要有字符流

字符流是由Java虚拟机将字节转换得到的,问题就出在这个还算是非常耗时,并且,如果我们不知道编码类型就很容易出现乱码问题。所以,I/O流就干脆提供了一个直接操作字符的接口,方便我们平时对字符进行流操作。如果音频文件、图片等媒体文件用字节流比较好,如果涉及到字符的话使用字符流比较好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值