Java FileReader

原文:https://www.studytonight.com/java-file-io/java-filereader-class

在本教程中,我们将学习 Java 中的FileReader 类。这个类帮助以字符流的形式从文件中读取数据。Java FileReader 是 Java Reader 类的子类,所以有很多相同的方法。

句法

这是FileReader 类的语法声明。该类扩展了InputStreamReader 类。

public class FileReader extends InputStreamReader

FileReader类的构造器

构造器 描述
FileReader(String file) 它获取字符串中的文件名。它以读取模式打开给定的文件。如果文件不存在,它将引发 FileNotFoundException。
FileReader(File file) 它获取文件实例中的文件名。它以读取模式打开给定的文件。如果文件不存在,它将引发 FileNotFoundException。

FileReader类的方法

方法 描述
int read() 此方法用于返回 ASCII 形式的字符。它在文件末尾返回-1。
void close() 此方法用于关闭FileReader类。

FileReader类中的 read()方法示例

在下面的例子中,我们从文件中读取数据。首先我们创建了一个FileReader,然后使用read() 方法读取每个字符,并将其打印在控制台上。

package studytonight;
import java.io.FileReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {           
            FileReader fileReader=new FileReader("E:\\studytonight\\output.txt");    
            int i;    
            while((i=fileReader.read())!=-1)    
                System.out.print((char)i);    
            fileReader.close();    
        }
        catch(Exception e)
        {
            System.out.println("Error: "+e.toString());
        }
    }
}

欢迎今晚来学习

输出. txt

Welcome to Studytonight

FileReader中的 getEncoding()示例

在下面的例子中,我们正在实现 getEncoding()方法,该方法可用于获取用于在文件中存储数据的编码类型。我们可以看到在这个例子的输出中,我们得到了UTF8 作为这个fileReader2的字符编码。如果我们不指定在这种情况下,它将显示默认编码。

package studytonight;
import java.io.FileReader;
import java.nio.charset.Charset;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {           
            FileReader fileReader1 = new FileReader("E:\\studytonight\\output.txt");
            FileReader fileReader2 = new FileReader("E:\\studytonight\\output.txt", Charset.forName("UTF8"));
            System.out.println("Character encoding of fileReader1: " + fileReader1.getEncoding());
            System.out.println("Character encoding of fileReader2: " + fileReader2.getEncoding());
            fileReader1.close();
            fileReader2.close();
        }
        catch(Exception e)
        {
            System.out.println("Error: "+e.toString());
        }
    }
}

FileReader 1 的字符编码:Cp1252 FileReader 2 的字符编码:UTF8

结论:

在本教程中,我们学习了FileReader 课。这个类使得以字符流的形式读取文件的内容成为可能。此类的 getEncoding()方法用于检查文件的编码。