IOException bei save und load in LinkedList

Status
Nicht offen für weitere Antworten.
M

Maja

Gast
Hallo!

Es ist schon sehr spät und ich sitze immer noch vor dem Problem, dass ich eine IOException sowohl bei load als auch bei save bekomme, wenn ich folgenden Code (Spiel.java) austesten will. Es sind zwei Klassen: Einsatz.java und Spiel.java

Einsatz.java

Code:
public class Einsatz
{
	private String name; 
	private int betrag; 
	private int zahl;
	private boolean gerade;
	
	public Einsatz (String name, int betrag, int zahl) throws RouletteException
	{
		setName(name);
		setBetrag(betrag);
		setZahl(zahl);
	}
	
	public Einsatz (String name, int betrag, boolean gerade)throws RouletteException
	{
		setName(name);
		setBetrag(betrag);
		setGerade(gerade);
		this.zahl= -999;
	}
}

Spiel.java
Code:
import java.util.*;
import java.io.*;
public class Spiel
{
	private LinkedList einsaetze;

	public Spiel ()
	{
		einsaetze = new LinkedList();
	}
//......
        public void saveEinsaetze(String fileName)throws RouletteException
	{
		try
		{
			FileOutputStream fos = new FileOutputStream(fileName);
			ObjectOutputStream oos = new ObjectOutputStream (fos);
			oos.writeObject(einsaetze); //Der Fehler liegt glaub ich hier 
                          // irgendwo aber mein Wissen reicht dafür nicht aus leider
			oos.close();
		}
		catch (FileNotFoundException fnfe)
		{
			throw new RouletteException ("Datei nicht gefunden: " +fileName);
		}
		catch(IOException ioe)
		{
			throw new RouletteException ("IO-Fehler beim Erstellen: "+fileName);
		}
	}
	
	public void loadEinsaetze (String fileName)throws RouletteException
	{
		try
		{
			FileInputStream fis = new FileInputStream(fileName);
			ObjectInputStream ois = new ObjectInputStream (fis);
			einsaetze = (LinkedList)ois.readObject(); //Der Fehler liegt glaub ich hier 
                         // irgendwo aber mein Wissen reicht dafür nicht aus leider
			ois.close();
		}
		catch (FileNotFoundException fnfe)
		{
			throw new RouletteException ("Datei nicht gefunden: " +fileName);
		}
		catch(IOException ioe)
		{
			throw new RouletteException ("IO-Fehler beim Erstellen: "+fileName);
		}
		catch (ClassNotFoundException cnfe)
		{
			throw new RouletteException ("ClassNotFound-Fehler: "+fileName);
		}
	}
}

Ich hoffe es findet sich jemand, der mir helfen kann!

Vielen Dank
Maja
 
B

bygones

Gast
es ist immer gut, wenn du den Fehler auch genau hinschreiben würdest, was dir java meldet.

deine Klasse implementiert nicht das interface Serializable, das benötigt wird, damit java objekte schreiben (serialisieren) kann
 
M

Maja

Gast
Danke für die schnelle Antwort! Ist schneller gekommen als ich dachte!

Hat mir auch geholfen, dachte auch es liegt an dem Serializable und hatte es auch im Spiel eingebaut aber hat nichts gebracht erst als ich es im Einsatz hatte ging es.

Nur verstehe ich immer noch nicht warum ich es im Einsatz brauche.
Eine Antwort wäre nett!

Vielen Dank
Maja
 
B

Beni

Gast
Also, es funktioniert jetzt, das habe ich richtig verstanden?

Das Serializable ist eigentlich nicht mehr als eine kleine Markierung "he, mich kann man serialisieren". Ergo: ein fehlendes Serializable ist eine Markierung für "wenn man mich serialisiert, wird das Programm inkonsistent". Der ObjectOutputStream sieht das und denkt sich: lieber jetzt als später ein Fehler... und wirft eine Exception.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G IOException error 2 Allgemeine Java-Themen 3
B java.io.IOException: Problem reading font data. Allgemeine Java-Themen 9
S JUnit: Erzeugen einer IOException Allgemeine Java-Themen 9
K java.io.IOException: Cannot validate certificate for jogl.dll Allgemeine Java-Themen 6
V IOException beim Öffnen einer selbstgeschriebenen Datei Allgemeine Java-Themen 2
J IOException durch BufferedWriter.flush() ? Allgemeine Java-Themen 5
P IOException beim einlesen einer XML- Datei Allgemeine Java-Themen 8
J gzip, die zweite: java.io.IOException: Not in GZIP format Allgemeine Java-Themen 2
S was bedeutet: throws IOException Allgemeine Java-Themen 1
S Java Mail IOException Allgemeine Java-Themen 13
N IOException: "Reading from an output buffer" ? Allgemeine Java-Themen 2
A IOException Allgemeine Java-Themen 11
M CrudRepository save Methode mocken Allgemeine Java-Themen 6
Thallius Ist meine static Helper Class Thread save? Allgemeine Java-Themen 9
L Design-Frage: Platzierung der Save-Methode Allgemeine Java-Themen 3
Developer_X Save with Java in Txt Allgemeine Java-Themen 2
A java logging api scheint nicht thread save zu sein Allgemeine Java-Themen 22
G Thread- save versus Nicht- Thread- save Allgemeine Java-Themen 2
MQue save as jpeg Allgemeine Java-Themen 3
S In einem HTML Quellcode gewünschten Abschnitt in Datei Save Allgemeine Java-Themen 9
alderwaran Hoher Sys-Load bei Multithreaded Anwendung Allgemeine Java-Themen 8
S Java Gui listerner load pictures German Allgemeine Java-Themen 2
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
P JDK installieren Error: Could not find or load main class HelloWorld.java Allgemeine Java-Themen 3
B Load Library and use JNA to access Allgemeine Java-Themen 3
B Load of Known null Value Allgemeine Java-Themen 9
U Classpath DLLs mittels System.load() laden: Allgemeine Java-Themen 6
R JNI load so-library Allgemeine Java-Themen 4
G [JDK 6u2] - JAR Failed to load Main-Class manifest attribute Allgemeine Java-Themen 6
B Native DLL zweimal laden: System.load(sPath); Allgemeine Java-Themen 5
M JNI, static.a mit load.Library laden? Allgemeine Java-Themen 2
P java high cpu load wegen endlosschleife Allgemeine Java-Themen 6
G MySQL-Problem (LOAD DATA INFILE) Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben