1GiB json Datei mit Java Gson lesen funktioniert nicht - alle Fields 0


#1

Die Daten schreibe ich so:

    private static ArrayList<Route> routes = new ArrayList<>();
//...
            try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("routes.json"))) {
                gson.toJson(routes, bufferedWriter);
            }

Lesen im Stream mode:

            try (JsonReader newJsonReader = gson.newJsonReader(new InputStreamReader(new FileInputStream("routes.json"), "UTF-8"))) {
                newJsonReader.beginArray();
                while (newJsonReader.hasNext()) {
                    routes.add(gson.fromJson(newJsonReader, Route.class));
                }
                newJsonReader.endArray();
            }

Das serialisieren funktioniert auch, 1GiB json Datei (mit den richtigen Werten) und alles in einer Zeile.

routes hat danach über 10 Mio. Objekte, aber alle Fields sind 0.

private static ArrayList<Sys> syss1 = new ArrayList<>();

Kann hingegen problemlos geschrieben und gelesen werden.

Ich denke, es könnte an der Größe liegen?


#2

Moin :roll_eyes: ,

es lag daran, dass ich zwei Attributen bei Deklarierung 0 zugewiesen hab, i-wie funktioniert das dann mit Reflection nicht.

Bitte entschuldigt das Thema, es ist schon gelöst. - Aber wenn jemand auch das Problem hatte, dann ist es viell. hilfreich.