G
Guest
Gast
hallo,
ich bekomme beim Schreiben eines Objekts in einer datei immer eine IOException...
Klassenstrur:
CSVConverter
CSVProject<CSVSummary,CSVConverter> implements Serilazable
->hasCode:generiert aus projectName
->haspMap map<CSVSummary,CSVConverter>
CSVSummary implements Serilazble
.>hasCode generiert aus filename
CSVProject speichert also in der HashMap zu dem Schlüssel CSVSummary eine Referenz CSVConverter.
CSVConverter liest eine CSvDatei ein.
CVSSummary enthaelt wichtige eigenschaften des CVSConcerter (Anzahl der Spalten,Zeilen,Wörter)
writeObjekt Methode in CSVProject:
public void writeProjectToFile(java.lang.String filename) throws CSVBackupException {
try {
ObjectOutputStream objOut = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));
CSVProject<CSVSummary, CSVConverter> project = new CSVProject<CSVSummary, CSVConverter>(this.projectname,this.getFileNames());
objOut.writeObject(project);
objOut.close();
} catch (FileNotFoundException e) {
throw new CSVBackupException("Datei " + filename + "konnte nicht gefunden werden");
} catch (IOException e) {
throw new CSVBackupException("Fehler beim Schreiben der Datei" + filename);
} catch (CSVException e) {
throw new CSVBackupException("Fehler beim Schreiben der Datei" + filename);
}
}
Hat jemand eine Idee dazu?
Komme hier im Moment einfach nicht weiter.
Das zweite problem:
wenn ich z.B. ein CSVConverter mit zugehöriger Summary(Schlüssel) im CSVproject gespeichert habe und danach den CSVConverter ändere (z.B. Zeile hinzufuege),dann soll natürlich im Projekt auch die Summary geändert werden.
Meine Idee war,dass meine hashMap erst mal nur tiefe Kopien auf die Objekte CSVSummary und SCvConverter enthält,wenn sich im schon eingefügten CSvConverter was ändert hat dies erst mal keine Auswirkungen auf mein CSVProjekt (durch die tiefen Kopien).
ich würde dann im CSVProject explizit nach der Summray suchen,anhand eines eindeutigen Filename,und würde das gefundene Objekt (Schlüssel+CSVConverter) komplett aus HashMap löschen und mit den geändertern Werten im CVSConverter einen neuen Eintrag in HashMap machen.
Müsste doch gehen. ??
Danke für eure Hilfe
ich bekomme beim Schreiben eines Objekts in einer datei immer eine IOException...
Klassenstrur:
CSVConverter
CSVProject<CSVSummary,CSVConverter> implements Serilazable
->hasCode:generiert aus projectName
->haspMap map<CSVSummary,CSVConverter>
CSVSummary implements Serilazble
.>hasCode generiert aus filename
CSVProject speichert also in der HashMap zu dem Schlüssel CSVSummary eine Referenz CSVConverter.
CSVConverter liest eine CSvDatei ein.
CVSSummary enthaelt wichtige eigenschaften des CVSConcerter (Anzahl der Spalten,Zeilen,Wörter)
writeObjekt Methode in CSVProject:
public void writeProjectToFile(java.lang.String filename) throws CSVBackupException {
try {
ObjectOutputStream objOut = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));
CSVProject<CSVSummary, CSVConverter> project = new CSVProject<CSVSummary, CSVConverter>(this.projectname,this.getFileNames());
objOut.writeObject(project);
objOut.close();
} catch (FileNotFoundException e) {
throw new CSVBackupException("Datei " + filename + "konnte nicht gefunden werden");
} catch (IOException e) {
throw new CSVBackupException("Fehler beim Schreiben der Datei" + filename);
} catch (CSVException e) {
throw new CSVBackupException("Fehler beim Schreiben der Datei" + filename);
}
}
Hat jemand eine Idee dazu?
Komme hier im Moment einfach nicht weiter.
Das zweite problem:
wenn ich z.B. ein CSVConverter mit zugehöriger Summary(Schlüssel) im CSVproject gespeichert habe und danach den CSVConverter ändere (z.B. Zeile hinzufuege),dann soll natürlich im Projekt auch die Summary geändert werden.
Meine Idee war,dass meine hashMap erst mal nur tiefe Kopien auf die Objekte CSVSummary und SCvConverter enthält,wenn sich im schon eingefügten CSvConverter was ändert hat dies erst mal keine Auswirkungen auf mein CSVProjekt (durch die tiefen Kopien).
ich würde dann im CSVProject explizit nach der Summray suchen,anhand eines eindeutigen Filename,und würde das gefundene Objekt (Schlüssel+CSVConverter) komplett aus HashMap löschen und mit den geändertern Werten im CVSConverter einen neuen Eintrag in HashMap machen.
Müsste doch gehen. ??
Danke für eure Hilfe