Java FileReader.close()
方法
原文:https://www.studytonight.com/java-file-io/java-filereader-close-method
在本教程中,我们将学习 Java 中FileReader
类的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:流关闭
结论
在本教程中,我们学习了 Java 中 FileReader 类的close()
方法,该方法关闭流并释放与系统流相关联的所有资源。调用此方法会使流上的任何其他操作无效。