Backup von h2-Datenbank-Datei erstellen

  • Themenstarter Themenstarter :3
  • Beginndatum Beginndatum

:3

Mitglied
Hallo,

für ein Verwaltungsprogramm wollen wir die Möglichkeit implementieren, dass man für die H2-Datenbankdatei (database.db) ein Backup erstellen kann, also die aktuelle .db-Datei nimmt und sie wo anders hinkopiert unter dem namen database-backup-2014-08-09.db.

Wie funktioniert sowas von der Logik? Wie kann man mit Java eine Datei kopieren und umbenennen? Das klingt ja prinzipiell sehr profan, aber ich habe das bisher noch nicht gemacht. :noe:

Danke!
 
Hallo und Willkommen im Forum,

guck dir mal die Klasse Files an!

Java:
try {
Files.copy(Paths.get("C:/test/test.txt"), Paths.get("C:/test/test2.txt"));
} catch (IOException e) {
e.printStackTrace();
}
 
Ja, super! Ich habe es soweit ausprobiert und es funktioniert.

Ein Problem noch: die Datenbank-Datei ist standardmäßig unter C:\Users\Ich\Database gespeichert. Dort möchte ich sie unter anderem Namen auch kopieren. Wie gebe ich da den Pfad an? Dürfte ja bei Jedem unterschiedlich sein.
 
Also wenn du java programmieren willst bitte guck dir nochma den Code an.

Der 2te Parameter erfordert ein neues Paths Objekt.

LG
LeaveX
 
Zuletzt bearbeitet:
Mir ist das schon bewusst.

Ich habe nur das Problem, dass ich den Pfad ja nicht hardcoded programmieren kann, da der bei jedem Benutzer anders ist. Also muss ich mir erstmal ermitteln, wo die .db-Datei beim Benutzer gespeichert ist.
 
IUch würd vorschlagen das du dich mal mit dem File-Klassen und Iterationen auseinandersetzt. Wenn du eine Datei in den Ordner hast musst du die ermitteln in einem Paths-Objekt umwandeln und dann kopieren
 
Sowas in der Art:

Java:
File f = new File("C:/test/");

		for (File newFile : f.listFiles()) {
			try {
				Files.copy(Paths.get(newFile.getAbsoluteFile().toString()),
						Paths.get(newFile.getAbsoluteFile().toString() + ".bak"));
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
 
Zuletzt bearbeitet:

Zurück
Oben