Java程序用于关闭此输入流并释放与该流关联的任何系统资源


这篇关于Java的文章讨论了InputStream.close()函数,用于关闭输入流并释放系统资源。方法java.io.InputStream.close()用于关闭此输入流并释放与该流关联的任何系统资源。此方法不需要参数,也不返回任何值。此外,当发生I/O错误时,会抛出IOException

问题陈述

给定一个输入流,编写一个Java程序来关闭此输入流并释放与之关联的任何系统资源。确保程序处理可能发生的任何异常,例如流已关闭或遇到I/O错误。
输入
An input stream that reads a file located at C://JavaProgram//data.txt.
输出
The number of bytes are: 4
Error!!! The input stream is closed

关闭输入流并释放系统资源的步骤

以下是关闭输入流并释放系统资源的步骤:

  • java.io包导入必要的类(FileInputStream和InputStream)。
  • 创建一个InputStream对象,并使用FileInputStream读取文件。
  • 使用available()方法检索可用的字节数,以检查流的当前状态。
  • 使用close()方法关闭输入流以释放资源。
  • 关闭输入流后尝试再次访问它,并处理任何发生的异常,例如IOException

Java程序用于关闭InputStream并释放资源

以下是关闭InputStream并释放资源的示例:

import java.io.FileInputStream;
import java.io.InputStream;
public class Demo {
   public static void main(String[] args) throws Exception {
      InputStream i = null;
      int num = 0;
      try {
         i = new FileInputStream("C://JavaProgram//data.txt");
         num = i.available();
         System.out.println("The number of bytes are: " + num);
         i.close();
         num = i.available();
         System.out.println("The number of bytes are: " + num);
      } catch(Exception e) {
         System.out.print("Error!!! The input stream is closed");
      }
   }
}

输出

The number of bytes are: 4
Error!!! The input stream is closed

代码解释

使用FileInputStream创建一个输入流,用available()检查可以读取的字节数并显示输出。当使用close()关闭流并尝试读取流时,会发生异常,因为流已关闭。该异常被处理,并显示消息“错误!!!输入流已关闭”作为错误处理的一部分。

更新于:2024年11月11日

160 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告