IO 的 一些小结

IO流

数据流:往内存中输入,或从内存中输出的数据。
IO流: 一组有顺序,有起点,有终点的字节的集合。

  • 按照流向分:
    输入流(把磁盘中的数据读取到内存中)
    输出流(把内存中的数据写入到磁盘中)

  • 按照数据单位的不同分:
    字节流(每次读/写 一个字节,当遇到中文时,会有乱码,因为一个中文是2个字节)
    字符流(每次读/写 两个字节,遇到中文,也能正确显示)

  • 按照流的角色划分:
    节点流:向一个特定的地方(节点)读写数据。eg:FileInputStream
    处理流:是对一个已存在的流的连接和封装,通过调用所封装的流的功能,实现数据的读写。eg:BufferedReader

Java IO流 有4个抽象类(4个爸爸):
在这里插入图片描述
其他流(儿子)都是实现于上面4大父类的
在这里插入图片描述

字节流与字符流的区别:
字节流在操作时,是文件本身直接操作的,不会用到缓冲区。
字符流在操作时,会用到缓冲区。
在这里插入图片描述
字节输入流 InputStream
java.io包下所有的字节输入流的爸爸都是InputStream,并且实现了爸爸中的方法。
主要的方法有:
int read()
int read(参数)
void close()
字节输入流,它还有很多子类,平时经常用到的有:
在这里插入图片描述
字节输出流 OutputStream
java.io包下的字节输出流 是从OutputStream继承来的。
主要方法:
void write(参数)
void close()
void flush()
平时经常用到的字节输入流子类:
在这里插入图片描述

字符流:
ASCII字符集 一个字符就是一个字节
Unicode字符集 一个字符是两个字节

字符输入流 Reader
它是一个抽象类。
子类有:
CharReader
StringReader
BufferedReader
InputStreamReader(最重要)可以将字节流转为字符流。
Reader中各个类的用途和用法基本和InputStream中的类的方法使用一致。

字符输出流 Writer
Writer是所有输入字符流的父类,也是一个抽象类。
子类有:
CharWriter
StringWriter
BufferdWriter
OutputStreamWriter(最重要)可以将字节流转为字符流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值