Objekte speichern und laden

Diskutiere Objekte speichern und laden im Allgemeine Java-Themen Bereich.
H

Hieu

Hallo Leute ich würde gerne eine Instanz aus dieser Klasse speichern und laden
Code:
package Klassen;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;

/**
 * Klasse für die Erstellung einer Firma.
 * @author Hieu Trung Vu.
 *
 *
 */
 public class Autovermietung implements Serializable {
    
    
    
    /**
     *  Attribute von den erstellten Firmen, wie z.B. der Name, die Adresse, die Privat - und Geschaeftskunden.
     */
    
    private String name;
    private Adresse adresseautovermietung;
    private ArrayList<Privatkunde> privatkunden;
    private ArrayList<Autos> autos;
    private ArrayList<Geschäftskunde> geschäftskunden;
    private ArrayList<ArrayList<Rechnung<Privatkunde>>> privatkundenrechnungen;
    private ArrayList<ArrayList<Rechnung<Geschäftskunde>>> geschäftskundenrechnungen;
    private HashMap <String, Rechnung<Geschäftskunde>> hashmapgerechnungen;
    private HashMap <String, Rechnung<Privatkunde>> hashmapprivrechnungen;
    private ArrayList<Adresse> adressen;
    /**
     *
     *  Objektzaehler.
     */
    public static int anzahlautovermietung = 0;

    
    /**
     * Konstruktor: Sobald Objekt erstellt wurde, wird Objektzaehler um 1 erhöht.
     */
    
    public Autovermietung() {
        //Zaehler erhoehen
        anzahlautovermietung++;
        }
    
    //Setter                       

    /**
     *
     * @param value der Name für das erstellte Objekt.
     */
public void setname(String value) {
    name = value;

                                   }
/**
 *
 * @param value Die Adresse von der erstellten Firma setzen.
 */
public void setadresseautovermietung(Adresse value) {
    adresseautovermietung = value;
}



/**
 *
 * @param value setzt die Autos der Firma fest.
 */
public void setautos(ArrayList<Autos> value) {
    autos = value;
}


    //Getter
/**
 *
 * @return gibt den Namen der Firma zurueck.
 */
public String getname() {
    return name;
}
/**
 *
 * @return gibt die Adresse der Firma zurueck.
 */
public Adresse getadresseautovermietung() {
return adresseautovermietung;
}


/**
 *
 * @return gibt alle Autos der Firma zurück.
 */
public ArrayList<Autos> getautos() {
    return autos;
}

/**
 *
 * @return gibt alle Privatkunden zurueck.
 */
public ArrayList<Privatkunde> getPrivatkunden() {
    return privatkunden;
}

/**
 *
 * @param privatkunden setzt die Privatkunden fest.
 */
public void setPrivatkunden(ArrayList<Privatkunde> privatkunden) {
    this.privatkunden = privatkunden;
}
/**
 *
 * @return gibt Geschäftskunden zurueck.
 */
public ArrayList<Geschäftskunde> getGeschäftskunden() {
    return geschäftskunden;
}

/**
 *
 * @param geschäftskunden setzt Geschäftskunden fest.
 */
public void setGeschäftskunden(ArrayList<Geschäftskunde> geschäftskunden) {
    this.geschäftskunden = geschäftskunden;
}

public ArrayList<ArrayList<Rechnung<Privatkunde>>> getPrivatkundenrechnungen() {
    return privatkundenrechnungen;
}

public void setPrivatkundenrechnungen(ArrayList<ArrayList<Rechnung<Privatkunde>>> privatkundenrechnungen) {
    this.privatkundenrechnungen = privatkundenrechnungen;
}

public ArrayList<ArrayList<Rechnung<Geschäftskunde>>> getGeschäftskundenrechnungen() {
    return geschäftskundenrechnungen;
}

public void setGeschäftskundenrechnungen(ArrayList<ArrayList<Rechnung<Geschäftskunde>>> geschäftskundenrechnungen) {
    this.geschäftskundenrechnungen = geschäftskundenrechnungen;
}

public HashMap <String, Rechnung<Geschäftskunde>> getHashmapgerechnungen() {
    return hashmapgerechnungen;
}

public void setHashmapgerechnungen(HashMap <String, Rechnung<Geschäftskunde>> hashmapgerechnungen) {
    this.hashmapgerechnungen = hashmapgerechnungen;
}

public HashMap <String, Rechnung<Privatkunde>> getHashmapprivrechnungen() {
    return hashmapprivrechnungen;
}

public void setHashmapprivrechnungen(HashMap <String, Rechnung<Privatkunde>> hashmapprivrechnungen) {
    this.hashmapprivrechnungen = hashmapprivrechnungen;
}

public ArrayList<Adresse> getAdressen() {
    return adressen;
}

public void setAdressen(ArrayList<Adresse> adressen) {
    this.adressen = adressen;
}


                                
}
dazu habe ich diese Methoden geschrieben
Code:
private static void vermietungsdatenladen() {
        ObjectInputStream ois = null;
        FileInputStream fis = null;
        try {
          fis = new FileInputStream("Daten/objekte.ser");
          ois = new ObjectInputStream(fis);
          Object obj = ois.readObject();
          if (obj instanceof Autovermietung) {
            Autovermietung so = (Autovermietung)obj;
          
          }
        }
        catch (IOException e) {
          e.printStackTrace();
        }
        catch (ClassNotFoundException e) {
          e.printStackTrace();
        }
        finally {
          if (ois != null) try { ois.close(); } catch (IOException e) {}
          if (fis != null) try { fis.close(); } catch (IOException e) {}
        }
    
    
        
    }


    private static void vermietungsdatenspeichern() {
        File folder1 = new File("Daten");
        
        
        if(folder1.exists()) {
            System.out.println("Ordner existiert bereits");
        }else {
            folder1.mkdirs();
            System.out.println("Ordner wurde neu erstellt");
        }
        
        
        ObjectOutputStream oos = null;
        try {
        oos = new ObjectOutputStream(new FileOutputStream("Daten/objekte.ser"));
        oos.writeObject(Projekt.firmen[0]);
        }
        catch (IOException e) {
        } finally {
        if (oos != null) try {oos.close();} catch (Exception exc) {}}
    }
es scheint auch etwas mit dieser Klasse zutun zu haben

Code:
package Klassen;

import java.io.Serializable;

/**
 * Klasse für die Erstellung einer Adresse.
 * @author Hieu Trung Vu.
 *
 */
public class Adresse implements Serializable {
    
    //attribute
    /**
     * Attribute der Klasse Adresse : Adresszeile 1, Adresszeile 2, Postleitzahl und Ort.
     */
    private String adresszeile1;
    private String adresszeile2;
    private String postleitzahl;
    private String ort;
    
    /**
     * Objektzaehler.
     */
    public static int anzahladressen = 0;
    
    //Konstruktor
    /**
     * Konstruktor bei dem bei der Erstellung einer Adresse alle Attribute festgelegt werden.
     * @param a1 Adresszeile 1.
     * @param a2 Adresszeile 2.
     * @param pz Posteleitzahl.
     * @param o Ort.
     */
    
    public Adresse(String a1, String a2,String pz, String o) {
        adresszeile1 = a1;
        adresszeile2= a2;
        postleitzahl = pz;
        ort = o;
        anzahladressen++;
                                                          }
    
    //getter
    /**
     *
     * @return gibt Adresszeile 1 zurueck.
     */
    public String getadresszeile1() {
        return adresszeile1;
    }
    /**
     *
     * @return gibt Adresszeile 2 zurueck.
     */
    public String getadresszeile2() {
        return adresszeile2;
    }
    /**
     *
     * @return gibt die Postleitzahl zurueck.
     */
    public String getpostleitzahl() {
        return postleitzahl;
    }
    /**
     *
     * @return gibt den Ort zurueck.
     */
    public String getort() {
        return ort;
    }
    
    /**
     * Gibt alle Adressen aus (Testzweck).
     */
    public void alleadressenausgeben() {
        for (int i = 0;i< anzahladressen;i++) {
            System.out.println(Projekt.adressen.get(i).adresszeile1 + " " + Projekt.adressen.get(i).adresszeile2 + " " + Projekt.adressen.get(i).ort + " " + Projekt.adressen.get(i).postleitzahl);
        }
    }
}
aber ich hab keine Ahnung woran es liegen könnte. würde mich über Hilfe freuen. schönen Gruß
 
H

Hieu

Kein Problem, Doppelposts tauchen hier öfter auf :)

Hatten wir die Frage nicht erst diskutiert?!?

Edit: ja, hier https://www.java-forum.org/thema/objekt-speichern-und-laden.188560
das Ding ist das ganze Projekt kann ich nicht komplett neu machen das würde Monate dauern und ich hab auch schon versucht die Objekte.ser datei zu löschen und wieder neu zu erstellen hat auch nicht geklappt deswegen habe ich nochmal die klasse reingeschickt von der in die Instanz speichern möchte weil vielleicht da der Fehler irgendwo ist
 
mihe7

mihe7

das Ding ist das ganze Projekt kann ich nicht komplett neu machen
Nicht neu machen, neu bauen. In der IDE "rebuild project" oder "clean and build", oder wenn Du z. B. Maven auf der Befehlszeile verwendest: "mvn clean package"

EDIT: ich probier mal Deinen Code aus.
EDIT2: da fehlt die Hälfte. Kannst Du mal ein Zip hochladen, das alles enthält, das benötigt wird, um den Spaß zu übersetzen?
 
H

Hieu

Nicht neu machen, neu bauen. In der IDE "rebuild project" oder "clean and build", oder wenn Du z. B. Maven auf der Befehlszeile verwendest: "mvn clean package"

EDIT: ich probier mal Deinen Code aus.
EDIT2: da fehlt die Hälfte. Kannst Du mal ein Zip hochladen, das alles enthält, das benötigt wird, um den Spaß zu übersetzen?
hat sich erledigt lag an der Endung der erstellten Datei. hab statt Objekte.ser Objekte.tk verwendet
 
Thema: 

Objekte speichern und laden

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben