Java 堆 space 保存 json 文件时出错

Java heap space error when save json file

我收到此错误:“OutOfMemoryError:Java 堆 space”,当使用 FileWriter

将大的 jsonObject 保存到文件时

我的代码:

FileWriter  file2 = new FileWriter("C:\Users\....\test.json");
file2.write(jsonObject.toString());
file2.close();

我的pom

<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>

非常感谢您的帮助并提前致谢。

也许 this 回答可以帮助您解决问题。您的 JVM 可能没有足够的(空闲)内存。另一种解决方案可能是将一个大的 JSON 对象拆分成许多较小的对象。

通过使用 toString(),您首先创建了一个字符串对象,然后再将其写入 FileWriter,这会为大型对象消耗大量内存。您应该使用 JSONObject.writeJSONString(Writer) 来减少内存占用:

final JSONObject obj = ...
    
try (final Writer writer = new FileWriter(new File("output"))) {
    obj.writeJSONString(writer);
}
catch (IOException e) {
    // handle exception
}