IO流的概述:
大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等。在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象的表述为“流”,程序允许通过流的方式与输入输出设备进行数据传输。Java中的“流”都位于java.io包中,称之为IO(输入输出)流。
输入流和输出流是相对于内存设备而言的,将外设中的数据读取到内存中即输入,将内存的数据写入到外设中即输出。
IO流的特点:
1.IO流用来处理设备之间的数据传输;
2.Java对数据的操作是通过流(系统资源)的方式;
3.Java用于操作流的对象都在java.io包中;
4.流按操作数据分为两种:字节流与字符流;
5.流按流向分为:输入流,输出流
IO流的三种分类方式:
1.按流的方向分为:输入流和输出流;
2.按流的数据单位不同分为:字节流和字符流;
3.按流的功能不同分为:节点流和处理流。
IO流的层次结构
IO流的常用基类有:
1.字节流的抽象基类:InputStream和OutputStream;
2.字符流的抽象基类:Reader和Writer。