我正在嘗試在64000條記錄中一次寫入大量數據到文件。我收到以下附加的例外情況。 寫入文件時發生java堆空間錯誤
,我以前寫的代碼是
Path outputpath = Paths.get("file1.json");
try (BufferedWriter writer = Files.newBufferedWriter(outputpath, StandardCharsets.UTF_8, WRITE)) {
writer.write(jsonObject.toString());
} catch (Exception e) {
//error msg
}
這裏我「的JSONObject」只不過是其中包含65000行的JSON數組。
您能否幫我以有效的方式將此文件寫入我的文件,以便我可以避免出現堆空間錯誤。
不要爲您的JSON創建內存表示,請將其傳輸到'writer'。 –
你可以試試這個解決方案: https://stackoverflow.com/questions/1062113/fastest-way-to-write-huge-data-in-text-file-java –
當你啓動時爲你的JVM提供更多的內存它看看-Xmx命令行選項。或嘗試像MleRutte建議的流式傳輸 –