关闭一个缓冲读器



如果以下方式调用bufferedReader:

Integer.parseInt(new BufferedReader(new InputStreamReader(System.in)).readLine());

JVM不使用时会自动关闭它吗?如果没有,我该如何关闭?

如果您使用的是Java 7或更高的时间,并且您的代码在try catch resource块中,则为Auto closes

如果在以下版本中,则必须关闭Close()。为此,您必须更改当前的使用方式并获取参考。

不要链接它们,声明和分配变量,然后在用法后关闭。

InputStreamReader isReader;
BufferedReader bfReader;
try {
     isReader = new InputStreamReader(System.in);
     bfReader = new BufferedReader(isReader).readLine();
} catch (Exception e) {
// handle as per the requirement.
} finally {
    bfReader.close();
}

如果您使用Java 7,那么,如果您使用Try子句定义了,则它们将自动关闭。在此处查看更多详细信息

try-with-resources语句是一个try语句,声明一个 或更多资源。资源是必须关闭的对象 程序完成后。带有资源的尝试 声明确保每个资源在结束时关闭 陈述。实现java.lang.autoclosable的任何对象, 包括所有实现java.io的对象,可用 资源。

最新更新