【发布时间】:2017-04-10 16:24:56
【问题描述】:
我在JSON 文件中有 1 亿条记录,需要一种高效且最快的方法来从java 中的JSON 文件中读取数组数组。
JSON 文件看起来像:
[["XYZ",...,"ABC"],["XYZ",...,"ABC"],["XYZ",...,"ABC"],...,["XYZ",...,"ABC"],
["XYZ",...,"ABC"],["XYZ",...,"ABC"],["XYZ",...,"ABC"],...,["XYZ",...,"ABC"],
...
...
...
,["XYZ",...,"ABC"],["XYZ",...,"ABC"],["XYZ",...,"ABC"]]
我想逐行读取这个JSON文件:
先阅读:
["XYZ",...,"ABC"]
然后:
["XYZ",...,"ABC"]
等等:'
...
...
...
["XYZ",...,"ABC"]
我如何读取这样的JSON 文件,我知道它看起来并不完全像JSON 文件,但我需要以这种格式读取此文件并保存为.JSON
【问题讨论】:
-
你的意思是JSON??还是我错过了什么?
-
输入错误对不起 JSON。
-
首先,该文件应位于快速 SSD 上。接下来,您可以尝试使用
BufferedReader阅读它,看看这是否已经为您提供了 SSD 能够提供的最大速度。如果没有尝试FileChannel.map,看看你能从生成的 ByteBuffer 中读取多快。顺便提一句。如果您想多次读取文件,请确保您的计算机中有足够的空闲 RAM 以允许操作系统在内存中缓冲整个文件。
标签: java performance file-io java.util.scanner bufferedreader