一、什么是IO流
早期用于UNIX中管道的概念。。
二、IO流的分类
IO流分为两种,一种是字符流,一种字节流。
1、字节流包含和定义
字节流包含:InputStresm和Outputstream
字节流是由字节组成的,字节流是最基本的,所有InputStresm和Outputstream的子类都是字节流,主要用在处理二进制数据,它是按字节来处理的。
2、字符流含义
字符流包含:reader和write
字符流是是由字符组成的,Java里字符是由两个字节组成的,所有的reader和write的子类都是字符流,主要处理文本内容或者特定字符。
字符流常用类 Reader(抽象类,用于读取字符流的抽象类)
(1) |__BufferedReader
描述:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
>BufferedReader(Reader in)
创建一个使用默认大小输入缓冲区的缓冲字符输入流。
>BufferedReader(Reader in, int sz)
创建一个使用指定大小输入缓冲区的缓冲字符输入流。
(2) |__InputStreamReader
描述:是字节流通向字符流的桥梁
>InputStreamReader(InputStream in)
创建一个使用默认字符集的 InputStreamReader。
>InputStreamReader(InputStream in, Charset cs)
创建使用给定字符集的 InputStreamReader。
>InputStreamReader(InputStream in, CharsetDecoder dec)
创建使用给定字符集解码器的 InputStreamReader。
>InputStreamReader(InputStream in, String charsetName)
创建使用指定字符集的 InputStreamReader。
(2)[1]|__FileReader
描述:用来读取字符文件的便捷类
>FileReader(File file)
在给定从中读取数据的 File 的情况下创建一个新 FileReader。
>FileReader(FileDescriptor fd)
在给定从中读取数据的 FileDescriptor 的情况下创建一个新FileReader。
>FileReader(String fileName)
在给定从中读取数据的文件名的情况下创建一个新 FileReader