Java CharArrayReader.close()
方法
原文:https://www.studytonight.com/java-file-io/java-chararrayreader-close-method
在本教程中,我们将学习 Java 中 CharArrayReader 类的close()
方法。此方法用于关闭字符数组读取器,并立即释放流中附加到它的所有资源。任何操作的调用,包括read ()
、ready ()
、mark ()
、reset ()
或skip ()
方法,在close()
方法被调用后,都会抛出一个 IOException。
句法
下面是这个方法的语法,它不需要参数,也不返回值。
public void close()
示例:使用 Close()方法关闭 Java 中的 Reader
在本例中,我们演示了close()
方法的使用,当我们从流中读取数据时,我们使用close()
方法关闭该流。调用此函数后,所有与流相关的资源都会被释放,在此之后我们就不能使用流了。
import java.io.CharArrayReader;
import java.io.IOException;
class StudyTonight
{
public static void main(String[] args)
{
CharArrayReader charArrayReader = null;
char[] arr = {'H', 'E', 'L', 'L', 'O'};
try
{
charArrayReader = new CharArrayReader(arr);
char c = (char)charArrayReader.read();
System.out.println(c);
charArrayReader.close();
}
catch(IOException e)
{
System.out.print("Error: "+e.toString());
}
}
}
H
示例 2:使用 Close()方法关闭 Java 中的 Reader
在这里,我们将看到在关闭流后尝试读取数据时会发生什么,当我们尝试从已经关闭且没有与之相关联的资源的流中读取数据时,它会导致一个异常,说:错误:java.io.IOException: Stream closed
这就是我们不应该在读取之前关闭它的原因。
import java.io.CharArrayReader;
import java.io.IOException;
class StudyTonight
{
public static void main(String[] args)
{
CharArrayReader charArrayReader = null;
char[] arr = {'H', 'E', 'L', 'L', 'O'};
try
{
charArrayReader = new CharArrayReader(arr);
charArrayReader.close();
char c = (char)charArrayReader.read();
System.out.println(c);
}
catch(IOException e)
{
System.out.print("Error: "+e.toString());
}
}
}
错误:java.io.IOException:流关闭
结论:
在本教程中,我们学习了 Java 中 CharArrayReader 类的close()
方法,该方法关闭流并释放所有关联的资源,之后对流的任何操作都会引发 IOException。