Java Java.io.FilterReader.close() 方法

  • 描述

    java.io.FilterReader.close()方法关闭流并释放与之关联的所有系统资源。一旦关闭流,对read(),ready(),mark(),reset()或skip()的进一步调用将引发IOException。
  • 声明

    以下是java.io.FilterReader.close()方法的声明-
     public void close()
  • 参数

    不适用
  • 返回值

    此方法不返回任何值。
  • 异常

    IOException如果发生I / O错误。
  • 例子

    以下示例显示java.io.FilterReader.close()方法的用法。
     
    package com.jc2182;
    import java.io.FilterReader;
    import java.io.IOException;
    import java.io.Reader;
    import java.io.StringReader;
    
    public class FilterReaderDemo {
       public static void main(String[] args) throws Exception {
          FilterReader fr = null;
          Reader r = null;
          int i = 0;
          char c;
                
          try {
             // create new reader
             r = new StringReader("ABCDEFG");
              
             // create new filter reader
             fr = new FilterReader(r) {
             };
             
             // read till the end of the stream
             while((i = fr.read())!=-1) {
                c = (char)i;
                System.out.println(c);
             }
             
          } catch(IOException e) {
             // if any I/O error occurs
             e.printStackTrace();
          } finally {
             // releases system resources
             if(r!=null)
                r.close();
             if(fr!=null) {
                fr.close();
                System.out.print("Stream is closed");
                System.out.print(" system resources released");
             }
          }
       }
    }
    
    让我们编译并运行以上程序,这将产生以下结果-
     
    A
    B
    C
    D
    E
    F
    G
    Stream is closed system resources released