java io流区别_[java IO流]之 IO概述

IO流概述

概述:

在程序中所有的数据都是以流的方式进行传输和保存的,程序通过输入流读取数据;当程序需要将一些数据长期保存起来的时候使用输出流完成。

IO流的本质:

本地设备与不同设备之间数据的传输,例如:本地文件拷贝,上传文件和下载文件等等。

注意:

1.但凡是对数据的操作,Java都是通过流的方式来操作的

2.程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

3.IO流可以做到数据的持久化,但是IO流本质上是用来处理文件系统以及不同设备之间的数据传输。

IO流的分类:

有两种不同的分类方式:

按照数据传输的方向分类:

1.输入流:从外界(键盘、网络、文件…)读取数据到内存

2.输出流:用于将程序中的数据写出到外界(显示器、文件…)

按照传输的数据类型分类:

1.字节流:一般针对二进制文件【视频,音频,图片】

2.字符流:一般针对文本文件【xml、json、html、txt、md….】

**流的操作的三要素:

1.数据源:数据从哪里来。(内存可以当做目的地,也可以当做中转站)

2.目的地:数据到哪里去。(内存可以当做目的地,也可以当做中转站)

3.交通工具:

a.选对流的类型,是需要输入流还是需要输出流,还是两个都需要

b.根据确定的流向在IO流框架中选取自己认为最适合的流

字节流和字符流的区别:

1.读写单位不同:字节流以字节(8Bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。

2.处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。例如:本文文件,json,html,css,js,xml

注意:只要是处理纯文本数据,就优先考虑使用字符流,除此之外都使用字节流

IO流继承体系结构图:

0422817d13827fdbc3727d0d502379d7.png

本作品采用《CC 协议》,转载必须注明作者和本文链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值