计算机中的信息都是用二进制数的形式保存的,因此一组二进制数可能代表一副图片,也可能代表一段音乐。如果一组二进制数全部由字符编码组成,那么这组二进制数就代表了一段文字,人们把只有文字的信息称为“纯文本信息”或“纯文本数据”。不同的字符编码下,每个字符所占据的空间也是不同的,例如使用UTF-16编码,那么每个英文字母和汉字都占据2个字节,而如果使用UTF-8编码,每个英文字母占1个字节,而每个汉字占3个字节。字节流虽然有强大的读写功能,但它每次只能读一个字节,这样的话,无论文件采用哪一种字符编码,字节流都不能一次性读出或写入一个完整的汉字。为解决这个问题,Java语言专门定义了一组用于读写纯文本数据的流,这些流统称为“字符流”,它们的读写操作都是以字符为单位。
Reader类是所有字符输入流的父类,与InputStream一样,它也是一个抽象类。虽然它不能直接创建对象,但它所定义的方法却是其他字符流的标准操作。Reader类的各种方法都声明了IOException,因此在调用方法时要对这个异常进行处理,下面的表12-12展示了Reader类中所定义的各种方法。
表12-12 Reader类定义的方法
上一篇:龙芯 处理器