有没有办法在Java中只读取部分JSON文件?

时间:2014-09-22 21:08:00

标签: java json

我在Windows 7上使用NetBeans 7.4。

当我尝试使用以下调用读取JSON文件时,

String jsonTxt = IOUtils.toString(new FileInputStream(inputFileName), "UTF-8");

我收到了OutOfMemoryError异常。我查看了,看到文件超过28 GB,所以我可能无法一次将其全部读入内存。

有没有办法只读入部分JSON文件,这样我就不会耗尽内存?在IOUtils中似乎没有合适的方法。

1 个答案:

答案 0 :(得分:1)

您无法读取JSON文件的某些部分。 JSON结构取决于其元素及其嵌套级别。

大多数JSON解析库都有一个输入方法,它接受InputStream(或Reader)而不是String。你应该尝试那些。请注意,如果映射的对象结构太大,您仍然会遇到问题。

您应该考虑检查您存储的内容以及将其存储在JSON中的原因。

相关问题