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()方法用于检查文件的编码。