Vom Programm erstelltes Objekt setzt sich nach Programmende auf 0 zurück

  • Themenstarter Themenstarter Scheater1
  • Beginndatum Beginndatum
S

Scheater1

Gast
Hi,
das Problem ist wie o.g.
Ich versuche ein Objekt über ein Programm zu erstellen, doch das behält seine Werte nur solange, wie das Programm aktiv ist. Nach Schliessen des Programms setzen sich alle gespeicherten Werte zurück auf 0. Wie kann man es erreichen, dass die Werte permanent in der Datei gespeichert bleiben?
Meine Methode zum speichern ist wie folgt:

[Java]
public void speichern(String datei)
{
try
{
ObjectOutputStream out= new ObjectOutputStream (new FileOutputStream(datei));
out.writeObject(Name);
out.writeObject(Alter);
out.writeObject(Wohnort);
out.close();
}
catch (Exception e)
{

}
}
[/code]
 
Ganz einfach:
Ich speichere z.B. 1 als Wert ein und speichere ihn. Dann gebe ich was anderes da ein, ohne zu speichern. Wenn ich jetzt die Datei lade, wird 1 angezeigt. Nun schliesse ich das Programm und starte es neu. Folge: Wenn ich jetzt dieselbe Datei lade sind alle Werte 0.
Also werden si definitiv iwie zurückgesetzt.
 
Niemals sowas tun!
Java:
catch (Exception e)
       {
 
       }

Da gehört mindestens immer ein printStacktrace() hin.
 
Meinst du so? (Jetzt halt gekürzt aber enthält alles grundlegende)
Java:
import java.util.* ;
import java.io.*;

public class Klasse implements Serializable

private String Name

public void speichern(String datei)
   {
       try
       {
          ObjectOutputStream out= new ObjectOutputStream (new FileOutputStream(datei));
          out.writeObject(Name);
          out.close();
       }
       catch (Exception e)
       {
 
       }
   }
 public String getname() 
{
    return name;
  }

  public void setName(String name) 
{
    this.name = name;
  }
}
 
Zuletzt bearbeitet von einem Moderator:
Nein, ich meine schon etwas mehr. Ein Program, wo du beim Starten Werte ausliest, die veränderst und wieder speicherst. So dass man dein Problem nachvollziehen kann.
 
@Scheater1: Kann es sein, dass eine Exception fliegt, du es aber trotz eines printStackTrace() nicht siehst, weil du nur mit GUI arbeitest?

Und überhaupt: was heißt "Nach Schliessen des Programms setzen sich alle gespeicherten Werte zurück auf 0"? Was sind "alle Werte", und was ist 0?

Ark
 
Ok, Problem selber gelöst. Ich hab grad gemerkt, dass die Schreiben-Datei der Oberklasse fehlerhaft war und deswegen die Werte nur im tempörären Speicher gelandet sind.
 

Zurück
Oben