概述
当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。
字符输入流Reader
java.io.Reader抽象类是标识用于读取字符流的所有类的超类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。
磁盘-->内存
public void close():关闭此流并释放与此流相关联的任何系统资源。
public int read():从输入流读取一个字符。
public int read(char[] cbuf):从输入流中读取一些字符。
FileReader
java.io.FileReader类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。
作用:把硬盘文件中的数据以字符的方式读取到内存中。
Tips:字节与字符的对应规则。Windows系统的中文编码默认时GBK编码表。IDEA中utf-8。
构造方法:(红色为常用)
构造方法摘要 | |
---|---|
FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader。 |
|
FileReader(FileDescriptor fd) 在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。 |
|
|