G
Guest
Gast
Guten Tag.
Ich habe ein kleines Problem. Ich muss eine Hashtable und 2 Objekte vom Typ MyDate (extends java.util.Date) in einer Datei speichern. Ich dachte das würde am einfachsten mit Object Serialisierung gehen.
Das einfachste wäre demnach eine Klasse zu schreiben die Object[] in eine Datei schreibt. Dies müsste doch zu berwerkstelligen sein, oder?
Allerdings bekomme ich immer merkwürdige Fehlermeldungen.
Das merkwürdigste ist, dass es funktionniert solange ich ohne OpenDialog fahre. d.h. immer die selbe Datei schreibe und öffne.
Ich bekomme folgende Fehlermeldung :
writing aborted; java.io.NotSerializableException: javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread
Hier ist die Klasse die ich geschrieben habe :
Ich hoffe ihr könnt mir weiterhelfen. Danke im Voraus.[/b]
Ich habe ein kleines Problem. Ich muss eine Hashtable und 2 Objekte vom Typ MyDate (extends java.util.Date) in einer Datei speichern. Ich dachte das würde am einfachsten mit Object Serialisierung gehen.
Das einfachste wäre demnach eine Klasse zu schreiben die Object[] in eine Datei schreibt. Dies müsste doch zu berwerkstelligen sein, oder?
Allerdings bekomme ich immer merkwürdige Fehlermeldungen.
Das merkwürdigste ist, dass es funktionniert solange ich ohne OpenDialog fahre. d.h. immer die selbe Datei schreibe und öffne.
Ich bekomme folgende Fehlermeldung :
writing aborted; java.io.NotSerializableException: javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread
Hier ist die Klasse die ich geschrieben habe :
Code:
package general;
import java.io.*;
import javax.swing.JFileChooser;
public class FileOutput implements Serializable {
public static final long serialVersionUID = 123456L;
private class MyFileChooser extends JFileChooser{}
MyFileChooser myChooser = new MyFileChooser();
private File FileName;
private class object implements Serializable
{
public Object[] data;
}
public void SaveToFile(Object[] data)
{
int result = myChooser.showSaveDialog(null);
if (result==JFileChooser.APPROVE_OPTION){
FileName = myChooser.getSelectedFile();
try{
int i = data.length;
FileOutputStream FileOut = new FileOutputStream(FileName);
ObjectOutputStream ObjectOut = new ObjectOutputStream(FileOut);
object Data = new object();
Data.data = data;
ObjectOut.writeObject(Data);
ObjectOut.flush();
ObjectOut.close();
}
catch(Exception e){}}
}
public Object[] OpenFromFile()
{
int result = myChooser.showOpenDialog(null);
if (result==JFileChooser.APPROVE_OPTION){
FileName = myChooser.getSelectedFile();
Object[] data = null;
try{
FileInputStream FileIn = new FileInputStream(FileName);
ObjectInputStream ObjectIn = new ObjectInputStream(FileIn);
object Data = (object) ObjectIn.readObject();
data = Data.data;
ObjectIn.close();
}
catch (Exception Ex){System.out.println("Error :" + Ex.getMessage() ) ;}
return data;}
else return null;
}
}
Ich hoffe ihr könnt mir weiterhelfen. Danke im Voraus.[/b]