Java IO编程
Java IO编程
java i/o原理
基本概念:
I/O(Input/Output) 数据源(Data Source) 数据宿(Data Sink)
Java中把不同的数据源与程序间的数据传输都抽象表述为"流"(Stream),java.io包中定义了多种I/O流类型实现数据I/O功能。
I/O流分类:
输入流(Input Stream)和输出流(Output Stream) 节点流(Node Stream)和处理流(Processing Stream) 字符流(Character Stream)和字节流(Byte Stream) 输入流和输出流
按照数据流动的方向,java流可分为输入流(Input Stream)和输出流(Output Stream)
输入流只能从中读取数据,而不能向其写出数据; 输出流则只能向其写出数据,而不能从中读取数据 特例:java.io.RandomAccessFile类
节点流和处理流
根据数据流所关联的是数据源还是其他数据流,可分为节点流(Node Stream)和处理流(Processing Stream)
节点流直接连接到数据源 处理流是对一个已存在的流的连接和封装,通过封装的流的功能调用实现增强的数据读/写功能,处理流并不直接连接到数据源.
字符流和字节流
按传输数据的"颗粒大小"划分,可分为字符流(Character Stream)和字节流(Byte Stream)
字节流以字节为单位进行数据传输,每次传送一个或多个字节; 字符流以字符为单位进行数据传输,每次传送一个或多个字符.
Java命名惯例:
凡是以InputStream或OutputStream结尾的类型均为字节流,
凡是以Reader或Writer结尾的均为字符流。
InputStream


