Java FileReader.close()方法

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

在本教程中,我们将学习 JavaFileReader类的close()方法。此方法关闭流并释放与其链接的所有系统资源。一旦调用此方法,调用read()ready()mark()reset()skip()将抛出一个 IOException。

句法

此方法不接受任何参数或返回任何值。

public abstract void close()

示例 1:关闭FileReader实例

在这个例子中,我们已经创建了一个 FilterReader 流来读取数据,在这个特殊的例子中,我们正在检查这个流是否支持 mark()方法,一旦与这个流相关的操作完成,我们就调用 close()方法来释放所有链接的或者当前为这个流分配的资源,在这之后我们就不能使用这个流了。

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

示例 1:关闭FileReader实例

这里有一个例子,当我们关闭当前流,然后尝试使用它时,它会抛出这样的异常,因为当前流所需的所有资源都被取消分配了。

import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            Reader reader = new StringReader("Hello Studeytonight"); 
            int i;
            FilterReader filterReader = new FilterReader(reader) {};
            filterReader.close(); 

            while ((i = filterReader.read()) != -1) {
                char  c = (char) i;
                System.out.print(c);
            }
        }
        catch(Exception e)
        {
            System.out.print("Error: "+e.toString());
        }
    } 
}

错误:java.io.IOException:流关闭

结论

在本教程中,我们学习了 JavaFileReader 类的close()方法,该方法关闭流并释放与系统流相关联的所有资源。调用此方法会使流上的任何其他操作无效。