Home
/
JavaForum
/
Beginner
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
5.016 User online
1 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 256 von 2963 (9%)
Autor
MDGeist
Datum
06.11.05, 10:56
Betreff
Serializable und Objektauslagerung
Hi
Ich hab ein kleines Problem. Ich will ein Objekt innerhalb einer Liste in eine Liste auslagern die sich in einer Datei befindet. Ich hab mir dazu diverse Klassen und Methoden geschrieben, die ich jetzt mal angebe.
Das Problem ist, dass eine der Methoden eine merkwürdige Ausnahme beim wiedereinlesen der Datei wirft :
java.io.InvalidClassException: ausleih.MemberGroup; no valid constructor
//erzeugt Objekt das ausgelagert werden soll
public class MemberGroup extends thing
implements Serializable {
public MemberGroup(String name, LinkedList rentList) {
super(name,rentList);
}
}
//---------------------------------------------------
//wirft die Fehlermeldung
//dient zum auslesen der Darei
public Object readFile(String fileName){
try{
ObjectInputStream in = new ObjectInputStream(
new FileInputStream( fileName ) );
Object ob = in.readObject();
in.close();
return ob;
}catch(Exception e2){System.err.println(e2.toString());}
return null;
}
//dient zum schreiben in die Datei
public void writeInListFromFile(Object content,
String fileName,
int writeIndex) {
try {
//hohlt die Liste aus der Datei, die in dieser zu 100% //vorhanden ist
LinkedList list=(LinkedList)readFile(fileName);
if(writeIndex>=0){
if(!list.isEmpty())
//falls das Objekt schon besteht wird dieses in der Liste //ersetzt if(list.contains(content))list.remove(writeIndex);
list.add(writeIndex, content);
}else list.add(content);
//neue Liste in die Datei schreiben und damit die alte //überschreiben
ObjectOutputStream out = new ObjectOutputStream(
new FileOutputStream(fileName));
out.writeObject(list);
out.flush();
out.close();
}
catch (Exception ex) {System.err.println(ex.toString());}
}
Kann mir bitte jemand helfen?
MfG
Stefan
p.S.:- wenn ich eine Datei im try{} Teil geöffnet habe und danach eine Ausnahme geworfen wird, muss die Datei im catch Teil wieder geschlossen werden oder?
-weiß jemand ob und wie man mehrere Objekte in eine Datei schreiben und danach wieder lesen kann?
Diskussionsverlauf:
Re: Serializable und Objektauslagerung
Serializable und Objektauslagerung
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com