📜  Java中的 StringReader close() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:55.735000             🧑  作者: Mango

Java中的 StringReader close() 方法及示例

在Java中,StringReader是一个实现了Reader抽象类的类,可以用于从字符串中读取字符流,而close()方法是StringReader类的一个方法,用于关闭该字符流并释放与此流有关的所有资源。

方法介绍

StringReader类中的close()方法有以下两个作用:

  • 关闭字符流:当不再需要该字符流时,关闭这个字符流可以释放与此流有关的系统资源。
  • 释放字符流占用的资源:关闭字符流后,StringReader类还会释放占用的系统资源,如文件句柄等。
方法语法

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异常。

总结
  • StringReader类的close()方法用于关闭字符流并释放与此流有关的所有资源。
  • 关闭字符流可以释放与此流有关的系统资源,如文件句柄。
  • StringReader类的close()方法没有返回值。
  • 使用close()方法后,尝试使用底层源(如字符串)再次读取一个字符将会抛出一个IOException异常。