黑马程序员_IO流学习心得(一)

------- android培训java培训、期待与您交流! ----------

IO流用来处理设备与设备之间的数据传输,JAVA对数据的操作是采用流的方式,可以把流想象为设备之间的通道,而通道的端点则是需要传输数据的设备。如:从键盘把数据读入内存,把内存中的数据写入硬盘,等等。


JAVA中,用于操作流的对象,全部在java.io包中

流按照操作数据的种类分为两种:

字节流和字符流

流按照数据传输方向也分为两种:

输入流和输出流

因此IO流常用的基类有四个:

1,输入字节流(InputStream)

2,输出字节流(OutputStream)

3,输入字符流(Reader)

4,输出字符流(Writer)

由这四个类扩展出来的子类名称,都是以其父类名作为子类名称的后缀,所有子类用于对四大基类在功能上的扩展。


以下为整个IO包中流对象的体系图,其中红色为抽象类,绿色为普通类,灰色为已不建议使用的类:


字符流产生的原因?

有一种数据格式为文本格式,也就是我们现在使用的英文字母和汉字。这些字符在计算机中以二进制形式保存,用0和1串的不同组合来代表一个字符。如:英文字母表为ASCII表,汉字表为GB2312,后经过一次扩充后成为GBK。因为每个国家都有各自的字符,但使用同样的编码方式,对字符转码造成了阻碍。后来,世界标准组织推出unicode编码表,全世界的每个字符用32位的二进制表示,后经过对存储空间的优化,变为UTF-8编码。为了解决在多种字符编码中切换的问题,产生了用于处理字符编码的字符流。

未完待续。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值