Ich versuche, eine riesige Daten um 64000 Datensätze gleichzeitig in eine Datei zu schreiben. Ich bekomme Ausnahmen, die ich unten anbringe. Java-Heap-Platz Fehler beim Schreiben in eine Datei
der Code, den ich schreibe verwendet ist
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
}
Hier mein "JSONObject" ist nichts anderes als ein JSON-Array, die 65000 Zeilen enthält.
Können Sie mir bitte helfen, dies in meine Datei auf eine effiziente Weise zu schreiben, so dass ich vermeiden kann, dass Heap Space Error.
Erstellen Sie keine In-Memory-Darstellung Ihres JSON, streamen Sie es zum 'writer'. –
können Sie mit dieser Lösung versuchen: https://stackoverflow.com/questions/1062113/fastest-way-to-write-huge-data-in-text-file-java –
Geben Sie mehr Speicherplatz für Ihre JVM, wenn Sie beginnen Sehen Sie sich die Befehlszeilenoption -Xmx an. Oder versuche zu streamen wie MleRutte vorgeschlagen –