java IO流

Java IO流

java IO流_第1张图片
流结构图.jpg

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或者抽象。数据在两个设备的传输便是流,流的本质就是数据传输,java中根据数据传输类型特性将流抽象为各种类,方便直观的进行不同的数据操作。

字符流和字节流

字符流的由来:因为字符编码格式的不同,而有了专门对字符操作的流对象。字符流处理的是2个字节(byte)的Unicode字符,操作对象是字符串,字符数据和字符。字符流是基于字节流的,查询了编码格式。
字节流是最基础的流,可作用于任何类型的对象,处理字符时不如字符流方便,以字节为单位(8bit)。

输入流和输出流

对输入流只能读操作,对输出流只能写操作。

字节流和字符流的转换

转换流的特点:
1.是字节流和字符流的桥梁
2.可对读取到的字符/字节 根据编码格式 转换为字节/字符

何时使用转换流:
1.当字节和字符有转换动作时
2.流操作的数据需要编码或解码时
具体对象:InputStreamReader和OutputStreamWriter
分别封装了InputStream和OutputStream

BufferedReader和BufferedWriter

BufferedReader br  = new BufferedReader(InputStreamReader(InputStream)) ; 

BufferedReader构造包装了一层Reader,提供了方法readline支持读一行字符。

BufferedWriter bw = new BufferedWriter(OutputStreamWriter(OutputStream));

BufferedWriter包装了一层Writer, 支持write(String str)写入一个字符串,
支持newLine()写入一个换行符。

你可能感兴趣的:(java IO流)