Java 逐字符读取大型json文件

Java 逐字符读取大型json文件,java,json,jackson,Java,Json,Jackson,我的JSON文件大小为126MB。它只包含一行[没有空格,因此整个文件被视为单行]。我想把它分成每个10MB的文件[一些随机数量] 我试过什么? 我尝试使用filereader、streamreader等。当我使用reader.readLine()时,它会抛出一个内存错误 我试过杰克逊图书馆 File reader = new File("D:\\registry.txt"); ObjectMapper map = new ObjectMapper(); JsonParser jp = new

我的JSON文件大小为126MB。它只包含一行[没有空格,因此整个文件被视为单行]。我想把它分成每个10MB的文件[一些随机数量]

我试过什么?

  • 我尝试使用filereader、streamreader等。当我使用reader.readLine()时,它会抛出一个内存错误

  • 我试过杰克逊图书馆

    File reader = new File("D:\\registry.txt");
    ObjectMapper map = new ObjectMapper(); 
    JsonParser jp = new JsonFactory().createJsonParser(reader);
    JsonNode masterJSON = map.readTree(jp);
    System.out.println(masterJSON); 
    
  • 它还显示相同的内存错误。我怎么做

    到目前为止我发现的最糟糕的替代解决方案?

    将文件扩展名转换为.txt。并开始逐字符读取,直到达到最大拆分大小。再次,我必须将文件扩展名更改为.json


    有什么最简单的方法可以读取大[超过100MB]的单行文件吗?

    在哪里声明了
    reader
    ?这有点奇怪,你得到了一个126MB文件的
    内存错误
    ,我已经加载了
    1GB
    文件,没有问题。阅读,也请注意为错误日志添加一个粘贴库。读卡器是一个文件对象。我还想知道为什么它显示出堆空间不足。请使用中的流式API。@McDowell我也建议使用Gson+1.您可以尝试Jackson Streaming API()。当你拆分一个JSON对象时,它会被破坏,不是吗?可以接受吗?如果是,您可以看到以下问题: