📅  最后修改于: 2023-12-03 15:31:55.735000             🧑  作者: Mango
在Java中,StringReader是一个实现了Reader抽象类的类,可以用于从字符串中读取字符流,而close()方法是StringReader类的一个方法,用于关闭该字符流并释放与此流有关的所有资源。
StringReader类中的close()方法有以下两个作用:
StringReader类的close()方法语法如下:
public void close()
close()方法没有返回值。
下面的示例演示了如何使用StringReader类的close()方法将字符流关闭:
import java.io.IOException;
import java.io.StringReader;
public class StringReaderExample {
public static void main(String[] args) {
String str = "Java stringReader Example.";
// create a new StringReader
StringReader reader = new StringReader(str);
try {
// read first character from StringReader
System.out.println("First Character: " + (char)reader.read());
// close StringReader
reader.close();
// read next character from StringReader
// this will throw an IOException since the StringReader is closed
System.out.println("Next Character: " + (char)reader.read());
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出:
First Character: J
java.io.IOException: Stream closed
at java.io.StringReader.ensureOpen(Unknown Source)
at java.io.StringReader.read(Unknown Source)
at StringReaderExample.main(StringReaderExample.java:21)
在示例中,我们首先创建了一个名为reader的StringReader对象,然后使用它来读取一个字符串中的字符流。
通过调用reader.close()方法将字符流关闭,这将导致与该流相关联的任何系统资源被释放。在这之后,如果我们尝试使用reader对象再次读取一个字符,将会抛出一个IOException异常。