Java 中的内存问题是否会导致 BufferedReader 过早地 return null?
Could memory issues in Java cause a BufferedReader to return null prematurely?
我有一个程序从 InputStream 读取数据,直到遇到 null。但是,该程序似乎无法获取所有可用数据。是否有可能由于内存问题而过早出现空值?我没有收到内存错误,但我确实收到了不同大小的文件,并且在进行可能释放内存的更改时获得了一个更大的文件。我的计划是 运行 Java 带有为其提供更多内存的选项。
代码:
while ((inputStr = streamReader.readLine()) != null){
doStuff();
}
Could memory issues in Java cause a BufferedReader
to return null prematurely?
没有。您会得到 OutOfMemoryError,
而不是过早的空值。
问题实际上是导致文件关闭的磁盘 space 问题(发现时是清理的一部分)——没有遇到 null。磁盘 space 错误没有出现,因为写入日志文件无法完成。感谢 "barking up the wrong tree" 的评论,因为我确实是。我应该补充一点,Amazon Web Services 上的代码 运行 使这变得复杂。
如果我没有给海报提供足够的信息,我很抱歉,但正如我所说,输入很有用。
我有一个程序从 InputStream 读取数据,直到遇到 null。但是,该程序似乎无法获取所有可用数据。是否有可能由于内存问题而过早出现空值?我没有收到内存错误,但我确实收到了不同大小的文件,并且在进行可能释放内存的更改时获得了一个更大的文件。我的计划是 运行 Java 带有为其提供更多内存的选项。
代码:
while ((inputStr = streamReader.readLine()) != null){
doStuff();
}
Could memory issues in Java cause a
BufferedReader
to return null prematurely?
没有。您会得到 OutOfMemoryError,
而不是过早的空值。
问题实际上是导致文件关闭的磁盘 space 问题(发现时是清理的一部分)——没有遇到 null。磁盘 space 错误没有出现,因为写入日志文件无法完成。感谢 "barking up the wrong tree" 的评论,因为我确实是。我应该补充一点,Amazon Web Services 上的代码 运行 使这变得复杂。
如果我没有给海报提供足够的信息,我很抱歉,但正如我所说,输入很有用。