Hallo,
Ich versuche einen Vector der mit Objekten meiner Klasse gefüllt ist in eine Datei zu speichern und Ihn dann wieder zu lesen.
Dann Ihn als Vector Objekt wieder weiter zu nutzen.
Warum ? ich möchte meine Dynamisch erzeugten Swing Frames, (die im Vector gespeichert wurden) und die Positions daten und diverse Variablen besitzen abspeichern.
und beim nächsten PRG Start wieder einlesen. um so die umgebung wieder herzustellen.
mein cöde:
erzeugen der frames:
Vector lupen = new Vector();
...
public void Button_neuer_frame_actionPerformed(ActionEvent actionEvent) {
lupen.add(new lupe());//der neue frame
for (int i = 0; i < lupen.size(); i++) {
current_lupe = (lupe) lupen.lastElement();
current_lupe.set_name("Lupe " + i);
current_lupe.setLocation(10, 10);
current_lupe.setVisible(true);
}
save_env();
}
......................
public void save_env(){
try {
ostream = new FileOutputStream("meinfile");
output = new ObjectOutputStream(ostream);
output.writeObject(lupen);
output.flush();
}
........
beim start des prg wird das file gelesen:
public void load_env(){
try {
istream = new FileInputStream("meinfile");
input = new ObjectInputStream(istream);
System.out.println("The data file is loaded!");
Vector lupen = ((Vector) input.readObject());
}
catch (FileNotFoundException ex) {
System.out.println(ex.getMessage());
}
catch (IOException ex) {
System.out.println("hier schmiert er ab: " + ex.getMessage());
}
.....
die fehlermeldung:
writing aborted; java.io.NotSerializableException: java.ibjectInputStream
und der Vector wird nicht gelesen.
PS. im file steht jede menge drinn ! und wird auch immer schön geschrieben.
eventuell kann mir ja jemand weiterhelfen ider einen anderen weg zeigen,
danke
kai
Ich versuche einen Vector der mit Objekten meiner Klasse gefüllt ist in eine Datei zu speichern und Ihn dann wieder zu lesen.
Dann Ihn als Vector Objekt wieder weiter zu nutzen.
Warum ? ich möchte meine Dynamisch erzeugten Swing Frames, (die im Vector gespeichert wurden) und die Positions daten und diverse Variablen besitzen abspeichern.
und beim nächsten PRG Start wieder einlesen. um so die umgebung wieder herzustellen.
mein cöde:
erzeugen der frames:
Vector lupen = new Vector();
...
public void Button_neuer_frame_actionPerformed(ActionEvent actionEvent) {
lupen.add(new lupe());//der neue frame
for (int i = 0; i < lupen.size(); i++) {
current_lupe = (lupe) lupen.lastElement();
current_lupe.set_name("Lupe " + i);
current_lupe.setLocation(10, 10);
current_lupe.setVisible(true);
}
save_env();
}
......................
public void save_env(){
try {
ostream = new FileOutputStream("meinfile");
output = new ObjectOutputStream(ostream);
output.writeObject(lupen);
output.flush();
}
........
beim start des prg wird das file gelesen:
public void load_env(){
try {
istream = new FileInputStream("meinfile");
input = new ObjectInputStream(istream);
System.out.println("The data file is loaded!");
Vector lupen = ((Vector) input.readObject());
}
catch (FileNotFoundException ex) {
System.out.println(ex.getMessage());
}
catch (IOException ex) {
System.out.println("hier schmiert er ab: " + ex.getMessage());
}
.....
die fehlermeldung:
writing aborted; java.io.NotSerializableException: java.ibjectInputStream
und der Vector wird nicht gelesen.
PS. im file steht jede menge drinn ! und wird auch immer schön geschrieben.
eventuell kann mir ja jemand weiterhelfen ider einen anderen weg zeigen,
danke
kai