Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关闭缓冲读取器_Java_Bufferedreader - Fatal编程技术网

Java 关闭缓冲读取器

Java 关闭缓冲读取器,java,bufferedreader,Java,Bufferedreader,如果我以以下方式调用BufferedReader: Integer.parseInt(new BufferedReader(new InputStreamReader(System.in)).readLine()); JVM是否知道在不使用时自动关闭它?如果没有,我该如何关闭它 不要链接它们,声明并分配变量,然后在使用后关闭它 InputStreamReader isReader; BufferedReader bfReader; try { isReader = new Input

如果我以以下方式调用BufferedReader:

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

JVM是否知道在不使用时自动关闭它?如果没有,我该如何关闭它

不要链接它们,声明并分配变量,然后在使用后关闭它

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();
}
如果使用Java7,那么,如果使用try子句定义,那么这些将自动关闭。查看更多详细信息

try with resources语句是一个try语句,它声明了一个 或者更多的资源。资源被视为必须关闭的对象 在程序完成之后。资源的尝试 语句确保每个资源在结束时关闭 陈述实现java.lang.AutoCloseable的任何对象,该对象 包括实现java.io.Closeable的所有对象,可以用作 资源


不要链接它们,声明并分配变量,然后在使用后关闭它

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();
}
如果使用Java7,那么,如果使用try子句定义,那么这些将自动关闭。查看更多详细信息

try with resources语句是一个try语句,它声明了一个 或者更多的资源。资源被视为必须关闭的对象 在程序完成之后。资源的尝试 语句确保每个资源在结束时关闭 陈述实现java.lang.AutoCloseable的任何对象,该对象 包括实现java.io.Closeable的所有对象,可以用作 资源


如果您使用的是java 7或更高版本,并且您的代码位于
try catch resource
块中,那么它就是


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

如果您使用的是java 7或更高版本,并且您的代码位于
try catch resource
块中,那么它就是


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

小心关闭任何包装
系统的
InputStream
读取器
。这也将被关闭。请小心关闭任何包装
系统的
输入流
读取器
。它说关闭BufferedReader也会关闭InputStreamReader。确实如此。1) 您应该只关闭这种类型的外部装饰器,这里是BufferedReader。2) 你肯定不是在建议不要理会拦网,是吗?3) 我通常在关闭前检查null。请记住,新手会按字面理解您的代码,包括空的catch块。@hovercraftfullofels:它应该是根据问题所有者的要求处理问题的所有者。它说关闭BufferedReader也会关闭InputStreamReader。确实如此。1) 您应该只关闭这种类型的外部装饰器,这里是BufferedReader。2) 你肯定不是在建议不要理会拦网,是吗?3) 我通常在关闭前检查null。请记住,新手会按照字面意思理解您的代码,包括空的catch块。@HovercraftFullOfEels:应该根据问题所有者的要求处理问题。