Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在Java中只读取JSON文件的一部分?_Java_Json - Fatal编程技术网

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

有没有办法在Java中只读取JSON文件的一部分?,java,json,Java,Json,我正在Windows 7上使用NetBeans 7.4 当我尝试通过以下调用读取JSON文件时 String jsonTxt = IOUtils.toString(new FileInputStream(inputFileName), "UTF-8"); 我收到一个OutOfMemoryError异常。我检查了一下,发现文件超过了28GB,所以我可能无法一次将其全部读取到内存中 有没有办法只读取JSON文件的一部分,这样就不会耗尽内存?IOUtils中似乎没有合适的方法。您无法读取JSON文件

我正在Windows 7上使用NetBeans 7.4

当我尝试通过以下调用读取JSON文件时

String jsonTxt = IOUtils.toString(new FileInputStream(inputFileName), "UTF-8");
我收到一个OutOfMemoryError异常。我检查了一下,发现文件超过了28GB,所以我可能无法一次将其全部读取到内存中


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

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

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


<>你应该考虑一下你在存储什么,为什么要把它存储在JSON中。 有关流式json解析器,请参见+1。但是28GB?这里很可能存在设计问题。如果可能的话,您可能会考虑将其拆分为多个文件,或者寻找其他更好的存储方式。