java - 解释 Scanner close( ) 方法 Java

标签 java io java.util.scanner

当我需要通过方法 close() 关闭 Scanner 时,我的代码如下,任何人都可以解释为什么我需要检查 if (输入!= null)好吗?

Scanner input = new Scanner(new File("System.txt"));

...

Public void closeFile() {
   if(input != null) {
          input.close();
   }
}

最佳答案

could any one explain why I need to check if(input != null) please ?

它只是一个空检查,如果输入为空,它会抛出NullPointerException

考虑下面的代码:

    Scanner input = new Scanner(new File("System.txt"));
    public void someMethod(){
      input = doSomething(); //say doSomething() returns null
    }
    Public void closeFile()
   {
   if(input != null)
      input.close();
    }

现在,由于输入为空,如果您尝试调用 close() ,它会抛出 NPE>

关于java - 解释 Scanner close( ) 方法 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14356715/

相关文章:

java - 如何在 Scala 或 Java 中将纪元时间增加 5 分钟

java - 复制独立 HBase 0.2 部署

c# - JNBridge可以在linux下使用吗?

java - 为什么我不能将signed int 转换为unsigned long

java - 如何检查字符串数组中的每个元素是否为整数?

java - 以编程方式检查类是否具有有效 JPA 定义的最简单方法

c++ - 声明一个内部有结构数组的结构数组

java - 我的文本阅读器程序不打印任何内容

java - 使用 java 扫描器类时如何验证用户文本输入?

Java 扫描器正则表达式 InputMistmastchException