所以我正在发出 URL 请求以将数据流提取到 BufferedReader 中。我正在获取的数据的各个字段的值为“null”。我用来读取所有数据的 while 条件是:
while (((inputLine = in.readLine()) != null))
所以当它遇到一个 null
值时,条件在两者之间中断,该值实际上不是 EOF,而只是一个字段值。我该如何解决这个问题?
最佳答案
当您读取一行时,它永远不会为null
,直到它到达数据末尾。如果该行中没有数据,它将只是一个空字符串。
您没有显示足够的代码来解释为什么您会收到 NullPointerException
,但您确实需要了解在到达结束之前您不会看到任何“空值”数据。
要弄清楚为什么会出现 NullPointerException
:
- 查看堆栈跟踪中指示的行
- 识别每个取消引用操作
- 要么在该行上放置一个断点,要么添加一些日志记录,要么将该行拆分为多个语句,以便每个语句只有一个解引用操作
这应该可以让您准确地计算出哪个值为 null,从而导致抛出异常。您需要做什么来修复它取决于您尝试做什么以及哪个值为 null - 目前我们没有足够的信息来帮助您解决这方面的问题。
关于java - 解决JAVA中一个URL请求的NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4538671/