Backup von Ordnern

JvKbF

Mitglied
Hey Leute,

ich möchte heute mein, eigentlich schon fertig gestelltes, Backup-Programm verbessern, um eine Komponente erweitern.

und zwar habe ich bisher immer nur einzelne Files auswählen können um sie zu sichern. Jetzt möchte ich ganze Ordner einbauen. Jetzt ist das Problem, dass wenn ich einen kompletten Ordner kopieren möchte dass ich nicht darauf zugreifen kann. Es kommt bei mir immer die "File not found exception"

ich muss wenn ich die Dateien sichern will sie in den C:\Temp Ordner kopieren .. .dort dann umbennen und dann in das Zip File, in welches die Datei zum Schluss kommt kopieren .. jetzt ist das Problem, dass wenn ich den ordner kopieren will ( ABER NUR BEI ORDNERN! ) es noch bevor es im temp ordner gelandet ist umbenannt wird .. ( so ist zumindest meine Vermutung ) und dann kann der ordner natürlich nicht kopiert werden, weil er schließlich nicht gefunden wird ...


hier mal mein Code zum umbennen und in den Temp Ordner kopieren:


Java:
filelist = new ArrayList<File>();													// folgende for-schleife kopiert die Dateien in den Temp-Ordner ...
				for(String s : dateiInText){														// ... und bearbeitet sie, damit sie in das Zip-File kopiert werden können
					String backup = s;
					backup=backup.replace("\\", "/");
					backup=backup.replace(" ", "%20");
					Path p = Paths.get(URI.create("file:///"+backup));
					s= s.replace("\\", "_");
					s=s.replace(":", "");
					String tmp = "file:///C:/temp/"+s;
					tmp=tmp.replace(" ", "_");
					Path p2 = Paths.get(URI.create(tmp));
					try {
						Files.copy(p, p2, REPLACE_EXISTING, COPY_ATTRIBUTES);
						filelist.add(p2.toFile());
					} catch (IOException e) {
						e.printStackTrace();
					}
					
				}

Wenn weiterer Code benötigt wird einfach bescheid sagen .. poste wenns sein muss das komplette Programm ..




Danke aber schon mal für die Hilfe!!
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Copy kann nur leere Ordner kopieren.
Du könntest einfach rekursiv alle Einträge des Ordners durchlaufen und so einzeln die Dateien an die richtige Stelle des ZIP komprimierten Ordners kopieren. Um den richtigen Pfad zu bekommen schneidest du den Pfad einfach am zu sichernden Ordner ab ("C://Dateien/nochmehrDateien/zusichernderOrdner/nocheinOrdner/datei.dat" wird zu "zusichernderOrdner/nocheinOrdner/datei.dat") und speicherst die Datei unter diesem Pfad im ZIP komprimierten Ordner.
 

Ähnliche Java Themen

Neue Themen


Oben