📜  Java FileReader 类 close() 方法及示例

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

Java FileReader 类 close() 方法及示例

Java中 FileReader 类的close()方法用于关闭文件阅读器。在 close() 方法执行后,我们无法利用 reader 读取数据。此过程关闭流并释放所有关联的系统资源。在使用此方法后调用 read()、ready()、mark()、reset() 或 skip() 将导致 IOException。

句法:

public abstract void close()

此过程不返回任何参数或值。

示例1:我们验证流是否实现了mark()函数,在流的活动完成后,我们使用close()方法释放所有绑定或临时分配给流的资源;超过这一点,我们就不能再使用它了。

Java
// Java Program to demonstrate the working of close() 
// method of FileReader class in Java
  
import java.io.FileReader;
  
public class GFG {
    public static void main(String args[])
    {
        try {
            FileReader fileReader = new FileReader(
                "C:\\Users\\lenovo\\Desktop\\input.txt");
            int i;
            while ((i = fileReader.read()) != -1)
                System.out.print((char)i);
            fileReader.close();
        }
        catch (Exception e) {
            System.out.println("Error: " + e.toString());
        }
    }
}


Java
// Java Program to demonstrate the working of close() 
// method of FileReader class in Java
  
import java.io.FileReader;
  
public class GFG {
    public static void main(String args[])
    {
        try {
            FileReader fileReader = new FileReader(
                "C:\\Users\\lenovo\\Desktop\\input.txt");
            int i;
            fileReader.close();
            while ((i = fileReader.read()) != -1)
                System.out.print((char)i);
        }
        catch (Exception e) {
            System.out.println("Error: " + e.toString());
        }
    }
}


input.txt 有以下文字

输出:

示例 2:当我们尝试使用它时,会抛出这样的异常,因为当前流所需的所有资源都已被释放。

Java

// Java Program to demonstrate the working of close() 
// method of FileReader class in Java
  
import java.io.FileReader;
  
public class GFG {
    public static void main(String args[])
    {
        try {
            FileReader fileReader = new FileReader(
                "C:\\Users\\lenovo\\Desktop\\input.txt");
            int i;
            fileReader.close();
            while ((i = fileReader.read()) != -1)
                System.out.print((char)i);
        }
        catch (Exception e) {
            System.out.println("Error: " + e.toString());
        }
    }
}

输出:调用此方法时,流上的任何其他操作均无效。