📜  Java IO FileReader 类

📅  最后修改于: 2022-05-13 01:55:02.808000             🧑  作者: Mango

Java IO FileReader 类

FileReaderJava.io包中的一个类,可用于从文件中读取字符流。此类使用指定的字符集或平台的默认字符集将字节解码为字符。

Charset: Charset 类用于定义生成编码器和解码器以及恢复与字符集组合的多个名称的方法。

默认字符集:默认字符集是在隐式计算机启动期间定义的,它取决于底层操作系统的区域设置和字符集。

下图显示了 FileReader 类的层次结构流。

FileReader 类的层级流程

构造函数

FileReader 中的构造函数如下表所示。

Constructor

Description

FileReader(File file)Creates a new FileReader with given File to read (using default charset)
FileReader(FileDescriptor fd)Creates a new FileReader with given FileDescriptor to read (using default charset)
FileReader(File file, Charset charset)Creates a new FileReader with given File to read (using given charset)
FileReader(String filename)Creates a new FileReader with given FileName to read (using default charset)
FileReader(String filename, Charset charset)Creates a new FileReader with given File to read (using given charset)

方法

FileReader 下的方法如下表所示。

  • read(): read() 方法读取并传递单个字符,如果流结束,则传递 -1。
  • read(char[] charBuffer, int offset, int length):它读取一个字符流并将它们存储在给定的字符缓冲区中。 Offset 是它开始读取的位置,Length 是要读取的字符总数。如果流结束,它会传递大量读取的字符或 -1。
  • ready():它告诉流是否准备好被读取。如果流的输入缓冲区不为空或不为空,则称该流已准备就绪。
  • getEncoding(): getEncoding() 用于返回流正在使用的字符编码的标题。
  • close():关闭流并释放与之关联的系统资源。
Java
// Java program to show the usage of 
// IO FileReader Class
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        try {
            FileReader fileReader
                = new FileReader("gfg.txt");
  
            System.out.println("Reading char by char : \n");
            int i;
            while ((i = fileReader.read()) != -1) {
                System.out.print((char)i);
            }
  
            System.out.println("Reading using array : \n");
            char[] charArray = new char[10];
            fileReader.read(charArray);
            System.out.print(charArray);
  
            fileReader.close();
            System.out.println("FileReader closed!");
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}


输出:

Reading char by char :
GeeksForGeeks
Reading using array : 
GeeksForGeeks
FileReader closed!