java基础:IO流---概念与分类

IO流

概念

流是个抽象的概念,是对输入输出设备的抽象。数据以二进制的形式在程序与设备之间流动传输,就像水在管道里流动一样,所以就把这种数据传输的方式称之为输入流、输出流。这里描述的设备,可以是文件、网络、内存等

分类

(1)按数据流向分:
输入流:把数据从其他设备上读取到程序中的流
输出流:把数据从程序中写到其他设备上的流

(2)按数据类型分:
字节流:以字节为单位,读写数据的流
字符流:以字符为单位,读写数据的流

在这里插入图片描述
(3)按是否为节点流分:
1、节点流
可以【直接】读取某一个地方的数据,或者【直接】把数据写入到某一个地方。
举例:字节流,字符流

2、非节点流
不能【直接】从某一个地方读数据或写数据,它们每一种都有一些特殊的功能,例如有的可以自动转换基本类型数据为字节,有的可以提高其他流的读写效率,有的可以将字节流转为字符流,有的可以把对象转为字节等。
举例:数据流,缓冲流,转换流,对象流,随机访问流。

流的结构

在Java中,和IO流相关的类,主要是在java.io 包下的定义的。
几乎所有的流,都是派生自四个抽象的父类型:

  • InputStream,代表字节输入流类型
  • OutputStream,代表字节输出流类型
  • Reader,代表字符输入流类型
  • Writer,代表字符输出流类型

java中常用的流及其关系结构如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值