Hallo leute, ich komm einfach nicht weiter.
Ich habe eine mdb Datenbank in meinem Hauptverzeichnis die ich für Berechnungen nutzte.
Soll heißen: vor dem Start ist die Datenbank leer (nur das Schema vorhanden). Bevor das Java-Programm geschlossen wird, werden alle Daten wieder gelöscht.
Das Problem dieser tollen Access-Datenbank ist leider, dass gelöschte Daten nicht entgültig gelöscht werden. Das heißt also, dass die Datenbank mit der Zeit immer größer wird.
Und jetzt zu meiner Idee. Nach dem Programmstart möchte ich die Datei einlesen und bevor das Programm geschlossen wird, soll es wieder zurückgeschrieben werden.
Hier meine 2 Funktionen:
Sichern/einlesen:
Zurückschreiben:
Mein Problem ist jetzt, dass die Datei nach dem zurückschreiben beschädigt ist. Warum ?
Ich habe eine mdb Datenbank in meinem Hauptverzeichnis die ich für Berechnungen nutzte.
Soll heißen: vor dem Start ist die Datenbank leer (nur das Schema vorhanden). Bevor das Java-Programm geschlossen wird, werden alle Daten wieder gelöscht.
Das Problem dieser tollen Access-Datenbank ist leider, dass gelöschte Daten nicht entgültig gelöscht werden. Das heißt also, dass die Datenbank mit der Zeit immer größer wird.
Und jetzt zu meiner Idee. Nach dem Programmstart möchte ich die Datei einlesen und bevor das Programm geschlossen wird, soll es wieder zurückgeschrieben werden.
Hier meine 2 Funktionen:
Sichern/einlesen:
Code:
public static String readFileAsString(String filePath) throws java.io.IOException{
byte[] buffer = new byte[(int) new File(filePath).length()];
FileInputStream f = new FileInputStream(filePath);
f.read(buffer);
return new String(buffer);
}
Zurückschreiben:
Code:
try {
File ausgabedatei = new File("Daten.mdb");
FileWriter fw = new FileWriter(ausgabedatei);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(Start.Start.DBbackup);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
Mein Problem ist jetzt, dass die Datei nach dem zurückschreiben beschädigt ist. Warum ?
Zuletzt bearbeitet: