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

Java编写单词解扰器出现Cannot read the array length because "contents" is null错误怎么办

错误产生原因
  • 核心直接原因:你的txtToString方法在无法找到指定的allwords.txt文件时,捕获了FileNotFoundException后未做任何处理,最终会返回null,该返回值被赋值给contents变量后,后续执行contents.length读取数组长度的操作就会触发空指针异常。
  • 附带隐藏问题(解决文件路径问题后也会触发错误):
    1. 行数统计逻辑存在死循环:你使用Scanner g统计文件行数时,仅判断了g.hasNextLine(),但没有调用g.nextLine()移动文件读取指针,只要文件不为空,这个循环会永远卡住无法向下执行。
    2. 读写逻辑不匹配:你统计行数用的是hasNextLine()按行计数,但读取内容时用的是helloReader.next()按空白符分割读取,如果你的单词文件里一行存在多个单词,后续读取时会触发数组越界异常。
  • 路径注意事项:你传入的是相对路径allwords.txt,需要保证该文件放在项目的运行工作目录下,而非源码目录等其他位置,否则JVM运行时会找不到文件,触发异常返回null。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:15:00