📅  最后修改于: 2023-12-03 15:31:50.536000             🧑  作者: Mango
在Java中,BufferedInputStream类是一个缓冲输入流。它继承自FilterInputStream类,使得读取数据更加高效和快速。BufferedInputStream类提供了很多方法来帮助程序员更加高效地读取输入流中的数据。其中,close()方法用于关闭输入流并释放所有关联的系统资源。本篇文章将介绍BufferedInputStream close()方法的使用及示例。
BufferedInputStream close()方法的语法如下所示:
public void close() throws IOException
close()方法没有任何参数。
close()方法没有任何返回值。
下面的示例演示如何使用BufferedInputStream close()方法来关闭输入流:
import java.io.*;
public class Example {
public static void main(String[] args) {
BufferedInputStream bis = null;
try {
bis = new BufferedInputStream(new FileInputStream("file.txt"));
int data;
while ((data = bis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
在上面的示例中,我们首先创建了一个BufferedInputStream对象,并使用它来读取一个文件中的数据。在try块中,我们使用while循环来读取文件中的所有数据,并将其打印到控制台上。最后,在finally块中执行了bis.close()方法来关闭输入流并释放所有关联的系统资源。
下面的示例演示如何在try-with-resource块中使用BufferedInputStream close()方法来关闭输入流:
import java.io.*;
public class Example {
public static void main(String[] args) {
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("file.txt"))) {
int data;
while ((data = bis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们使用了try-with-resource块来自动关闭输入流。在try块中,我们使用while循环来读取文件中的所有数据,并将其打印到控制台上。在try-with-resource块结束时,Java会自动关闭输入流并释放所有关联的系统资源。
本篇文章介绍了Java中BufferedInputStream类的close()方法的使用及示例。通过使用close()方法,我们可以关闭输入流并释放所有关联的系统资源,以避免资源浪费和泄漏。建议程序员在使用BufferedInputStream类时,尽可能使用try-with-resource块来自动关闭输入流。