You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac上Java 20.0.1使用Scanner重定向标准输入异常原因咨询

故障原因分析:Scanner重定向输入抛出NoSuchElementException

核心原因:Scanner自动关闭标准输入流

  • 每次调用getUserName()都会创建新的Scanner实例关联System.in。
  • 第一次调用结束后,该Scanner对象失去引用,触发垃圾回收时,Scanner的finalize()方法会自动关闭它绑定的System.in流。
  • 第二次调用getUserName()时,新Scanner尝试从已关闭的System.in读取数据,因无数据可读抛出java.util.NoSuchElementException: No line found异常。

是否存在其他可能?

在当前场景下没有其他主要触发原因:输入文件names.txt包含两行内容,与代码中两次读取的逻辑匹配;编译和运行命令也无错误,唯一问题就是Scanner自动关闭了标准输入流。


内容的提问来源于stack exchange,提问作者Siva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:57:06