speichern/laden von array von Objekten mit java-Serialisierung

Habe ich die folgende Klasse, die führt einige Berechnungen zu füllen Ihre statische arrays.

public class Amount implements Serializable{
      private static final long serialVersionUID = 8141477444408242243L;
      public static Amount values1[][] = new Amount[10][30];
      public static Amount values2[][] = new Amount[10][30];
      public static Amount values3[][] = new Amount[10][30];

      double highestValue;
      double highestAmount;
      double lowestAmount;
      double lowestValue;

      ...
}

Als die Berechnungen nehmen Sie 20 Minuten oder so, ich bin auf der Suche, um zu speichern die arrays auf Datei, und laden Sie die Werte, wenn das Programm gestartet wird. Ich bin versucht, die java-Serialisierung-Methode und haben die folgenden Funktionen

public static void loadFile(Amount[][] arr, String filename){
    try {
        FileInputStream fis = new FileInputStream(filename);
        ObjectInputStream in = new ObjectInputStream(fis);
        arr = (Amount[][])in.readObject();
        in.close();
      }
      catch (Exception e) {
          System.out.println(e);
      }
}

public static void saveFile(Amount[][] arr, String filename){
     try {
         FileOutputStream fos = new FileOutputStream(filename);
         ObjectOutputStream out = new ObjectOutputStream(fos);
         out.writeObject(arr);
         out.flush();
         out.close();
      }
      catch (IOException e) {
          System.out.println(e); 
      }
}

die nenne ich, wie dieses saveFile(values1, "valueOneSaveFile"); und loadFile(values1, "valueOneSaveFile");

Habe ich führen Sie das Programm einmal und speichert alle arrays in verschiedene Dateien. Die Dateien erstellt haben und schauen, um die richtige Größe. Wenn ich mein Programm aufrufen, um die loadFile-Funktionen, die arrays offenbar nicht richtig initialisiert werden. Ich bin immer von null-pointer-exceptions beim Versuch zu Lesen einen Wert aus dem array (der scheint leer zu sein, nachdem die Last)

Haben Sie sich überlegt mit einer eingebetteten Datenbank anstatt auf die Datei? 🙂

InformationsquelleAutor Wozza | 2011-10-22

Schreibe einen Kommentar