一.Java IO概述
- I/O是Input/Output的缩写,I/O技术是一种非常实用的技术,主要用于处理设备之间的数据传输.
如: 读/写文件,网络传输等
- Java 程序中,对于数据的输入/输出操作以"流(Stream)",的形式进行
- java.io包下提供了各种"流"的类型和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据
什么是输入输出?
- 输入 intput:
读取外部数据(磁盘,光盘等存储设备中的数据)到程序(内存)中
- 输出 output:
将程序(内存)中的数据磁盘,光盘等存储设备中
注:
输入/输出是相对的,不是绝对的.我们一般站在程序(内存)的角度来说输入或输出,即为上面的输入,输出的介绍
二.流的分类
- 按操作数据单位的不同分为:
- 字节流:
每次读写以字节为单位(计算机中的所有数据存储都是以字节为单位的),适用于非文本的数据(如: 图片,视频等)
- 字符流:
每次读取以字符为单位的数据,只能读取文本文档文件(如: txt,java,html)
- 按照数据的流向不同分为:
- 输入流
程序从输入流读取数据源
- 输出流 程序向输出流写出数据源
- 按照流的角色不同分为:
- 节点流:
直接作用在要处理的文件上
- 处理流:
节点流外面又包了一层流,外面的称为处理流
- Java 的IO流共涉及40多类,看起来非常多,实际上者40多个类非常规则,都是从上面4个抽象基类所派生出来的
- 由这4个类派生出来的子类名称都是以其父类名作为子类的后缀名
三.IO流的体系
下面的图片中就是一些基本的IO流中的类
这其中需要我们重点掌握的有一下几种:
- 抽象基类
- 访问文件
- 缓冲流
- 对象流
- 处理流