Hallo zusammen. Ich habe angefangen mich mit In- und OutputStreams zu beschäftigen und verstehe noch nicht wo mein Fehler liegt.
1. Ich habe noch keine Antwort gefunden auf die Frage, ob es möglich ist ein Objekt so zu speichern, dass wenn ich meinen PC runter- und wieder hochfahre, es immernoch vorhanden und wieder einlesbar ist.
2. Ich habe nun zunächst mal den OutputStream implementiert und hab eben das oben genannte überprüft indem ich das Objekt einfach als .txt-Datei gespeichert habe, was, wenn es geht, nicht funktioniert, da sich die Text-Datei nicht finden lässt. Hier der Code, ich hoffe mir kann jemand weiterhelfen.
Gruß Rowdy
Ignoriert wieso hier wem was übergeben wird und wieso speichern immer Test übergeben wird etc.
GUI bekommt eben ein Objekt der Klasse Calc und Calc besitzt ein Objekt der Klasse Werte und eine Liste.
Hier noch speichern()
1. Ich habe noch keine Antwort gefunden auf die Frage, ob es möglich ist ein Objekt so zu speichern, dass wenn ich meinen PC runter- und wieder hochfahre, es immernoch vorhanden und wieder einlesbar ist.
2. Ich habe nun zunächst mal den OutputStream implementiert und hab eben das oben genannte überprüft indem ich das Objekt einfach als .txt-Datei gespeichert habe, was, wenn es geht, nicht funktioniert, da sich die Text-Datei nicht finden lässt. Hier der Code, ich hoffe mir kann jemand weiterhelfen.
Gruß Rowdy
Java:
public class GUI{
private static Calc info;
public GUI()
{
Werte werte = new Werte(); // Werte die einer "Rechenklasse" Calc übergeben werden
info = new Calc(werte); // Die Klasse die rechnet
JFrame frame = new JFrame("Apokalypse"); //GUI hab ich wegen der Übersicht rausgeschnitten
frame.setVisible(true);
frame.pack();
frame.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent winEvt) {
int save = JOptionPane.showConfirmDialog(null,"Wirklich Beenden?", "Speichern", JOptionPane.YES_NO_OPTION); //Wenn das GUI geschlossen wird soll gespeichert werden
if(save == JOptionPane.YES_OPTION){speichern("Test");}}}); //Beim schließen des GUIs speichern
}
Ignoriert wieso hier wem was übergeben wird und wieso speichern immer Test übergeben wird etc.
GUI bekommt eben ein Objekt der Klasse Calc und Calc besitzt ein Objekt der Klasse Werte und eine Liste.
Hier noch speichern()
Java:
private void speichern(String name)
{
String pfad = (name + ".txt");
FileOutputStream fos = null;
try
{
fos = new FileOutputStream(pfad);
ObjectOutputStream oos = null;
try
{
oos = new ObjectOutputStream(fos);
oos.writeObject(info);
}
catch(IOException ex){ex.printStackTrace();}
finally
{
try{if(oos!=null){oos.close();}}
catch(IOException ex){ex.printStackTrace();}
}
}
catch(FileNotFoundException ex){ex.printStackTrace();}
finally
{
try{if(fos!=null){fos.close();}}
catch(IOException ex){ex.printStackTrace();}
}
}
}