本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.说明
字符流:就是在字节流的基础上,加上编码,形成的数据流
字符流最基础的两个类就是 Reader和 wirter,根据这两个派生而来类都含有read()和writer()的基本方法。
2.Reader
提供的主要数据操作方法如下
CharReader和SringReader是两种基本的介质流,它们分别将Char数组、String中读取数据。
PipedReader 是从与其它线程共用的管道中读取数据。
BufferedReader很明显是一个装饰器,它和其他子类负责装饰其他Reader对象。
FilterReader是所有自定义具体装饰流的父类,其子类PushBackReader对Reader对象进行装饰,会增加一个行号。
InputStreamReader是其中最重要的一个,用来在字节输入流和字符输入流之间作为中介,可以将字节输入流转换为字符输入流。FileReader 可以说是一个达到此功能、常用的工具类,在其源代码中明显使用了将FileInputStream 转变为Reader 的方法。
3.wirter
提供的主要数据操作方法:
CharWriter、StringWriter 是两种基本的介质流,它们分别向Char 数组、String 中写入数据。
PipedWriter 是向与其它线程共用的管道中写入数据。
BufferedWriter 是一个装饰器为Writer 提供缓冲功能。
PrintWriter 和PrintStream 极其类似,功能和使用也非常相似。
OutputStreamWriter是其中最重要的一个,用来在字节输出流和字符输出流之间作为中介,可以将字节输出流转换为字符输出流。FileWriter 可以说是一个达到此功能、常用的工具类,在其源代码中明显使用了将OutputStream转变为Writer 的方法。
4.字符流的输入和输出对比
以上是java IO字符流用法的介绍,在掌握Reader和 wirter的用法后就可以进行对比,相信学完后会对字符流的分类有了更加深刻的认知。