Wie verschiebt man eine Datei von einem Ort an einen anderen? Wenn ich mein Programm ausführe, wird jede an diesem Speicherort erstellte Datei automatisch an den angegebenen Speicherort verschoben. Woher weiß ich, welche Datei verschoben wird?
91
Antworten:
File # renameTo macht das (es kann nicht nur umbenennen, sondern auch zwischen Verzeichnissen wechseln, zumindest im selben Dateisystem).
Wenn Sie eine umfassendere Lösung benötigen (z. B. die Datei zwischen Datenträgern verschieben möchten ), lesen Sie Apache Commons FileUtils # moveFile
quelle
myFile
Pfad des Objekts durch diesen Befehl nicht aktualisiert wird. Es wird also auf eine Datei verweisen, die nicht mehr vorhanden ist.Mit Java 7 oder neuer können Sie verwenden
Files.move(from, to, CopyOption... options)
.Z.B
Weitere Informationen finden Sie in der Dokumentation zu Dateien
quelle
Zum Verschieben einer Datei können Sie auch Jakarta Commons IOs verwenden FileUtils.moveFile verwenden
Bei einem Fehler
IOException
wird ein ausgelöst. Wenn also keine Ausnahme ausgelöst wird, wissen Sie, dass die Datei verschoben wurde.quelle
File.renameTo
von Java IO kann verwendet werden, um eine Datei in Java zu verschieben. Siehe auch diese SO-Frage .quelle
Fügen Sie einfach die Quell- und Zielordnerpfade hinzu.
Alle Dateien und Ordner werden vom Quellordner in den Zielordner verschoben.
quelle
Java 6
Java 7 (mit NIO)
quelle
Sie können ein externes Tool für diese Aufgabe ausführen (wie
copy
in Windows-Umgebungen). Um den Code portabel zu halten, gilt jedoch der folgende allgemeine Ansatz:File#renameTo
funktioniert, solange sich Quell- und Zielspeicherort auf demselben Volume befinden. Persönlich würde ich es vermeiden, Dateien in verschiedene Ordner zu verschieben.quelle
Versuche dies :-
quelle
Sie können das
Files
Objekt verwendenquelle
Schrieb diese Methode, um genau dies in meinem eigenen Projekt nur mit der Ersetzungsdatei zu tun, wenn darin Logik vorhanden ist.
quelle
Bitte versuchen Sie dies.
quelle
close
Anweisungen in einemfinally
Block befinden oder wenn ein Try-with-Resources-Block verwendet wird.Sie können dies versuchen .. saubere Lösung
quelle