Files verschieben in einen Ordner

Lia

Bekanntes Mitglied
Hi liebes Forum ,

Wieder mal eine Frage,

Ich habe drei Ordner. In dem ersten Ordner habe ich drei Test Dateien (test1,test2,test3)
In dem zweiten Ordner befindet sich bereits eine test1 Datei.

Nun sollen die Dateien aus dem ersten Ordner (test1, test2, test3) in den zweiten verschoben werden (wo test1) bereits drin ist.

Sobald die Dateien verschoben werden, soll die test1 Datei aus dem zweiten Ordner in ein neuen Ordner Archiv verschoben werden.

Der Ablauf funktioniert ich lese beide Ordner mit einer foreach Schleife aus. Wenn ich das Programm starte, dann führt er aber nur die erste Schleife aus, sobald ich nochmal das Programm ausführe verschiebt er es dann in den nächsten Ordner. Wieso führt er nicht beide schleifen auf einmal aus ??

Liebe Grüße
 
Nun sollen die Dateien aus dem ersten Ordner (test1, test2, test3) in den zweiten verschoben werden (wo test1) bereits drin ist.

Sobald die Dateien verschoben werden, soll die test1 Datei aus dem zweiten Ordner in ein neuen Ordner Archiv verschoben werden.
Sollte das nicht andersherum passieren? Erst in den Archiv Ordner verschieben, dann in den zweiten Ordner. Sonst überschreibst du erst die Datei, die ins Archiv soll.
 
Also ich hatte sowas hier schon versucht:

for (File filetest1 in listofFilesTest1)
if(filtest1.isFile()){ }
for(File filetest2 in listofFilesTest2){}
if(filetest2.isFile(){ }

die Ordnerstruktur sieht folgendermaßen aus

Ordner1 (liegen die test Dateien 1-3) im Ordner2 liegt noch gar nichts(in den Ordner2 werden die Dateien aus dem Ordner1 einfach hinverschoben)
Wenn eines der Dateien, welches aus dem Ordner1 kommt, bereits in dem Ordner zwei vorhanden ist (was vlt in einem Schritt vorher schonmal reingeschoben wurde welches in dem Fall dann eine ältere Version vn der Datei ist) , soll diese Datei aus Ordner2 ins Archiv verschoben werden.

Ich denke der Fehler liegt in dem Abschnitt, den ich hier reingepostet habe.. Wenn ich das für das erste Mal ausführe fuktioniert es. Aber beim 3-4 mal schiebt er dann aufeinmal alles weg..

LG
 
Also, mal ganz langsam:
Ordner1 (liegen die test Dateien 1-3) im Ordner2 liegt noch gar nichts(in den Ordner2 werden die Dateien aus dem Ordner1 einfach hinverschoben)
for (File filetest1 in listofFilesTest1)
if(filtest1.isFile()){ }
for(File filetest2 in listofFilesTest2){}
if(filetest2.isFile(){ }
Wenn Du die Dateiliste für Ordner2 erstellst, bevor Du Dateien verschoben hast, ist die Liste leer und bleibt auch nach dem Verschieben leer.
 
Hi @mihe7 , vielen Dank für deine Nachricht. Das mit dem verschieben habe ich inzwischen gelöst :-D
Ein neues Problem, was jetzt aufgetaucht ist.

Ordner1 = test.xlsx
Ordner2 = test.xlsx
Archiv = test.xlsx

Im Ordner1 laden immer die aktuellste Datei. Diese werden in den Ordner2 verschoben.. falls sich schon im Archiv eine alte Version dieser Dartei befindet(welches ebenfalls den gleichen Namen hat), soll diese mit der neuen Version vom Ordner2 überschrieben werden.. denke es ist wieder verwirred erklärt von mir xD..

for (int i = 0; i < listofFilesTest1.length;i++){
for (int j= 0; j < listofFilesTest2.length;j++){
for (int k = 0; k < listofFilesTestArchiv.length;k++){
if(listofFilesTest2[j].getName().equals(listofFilesTestArchiv[k].getName())){
listofFilesTestArchiv[k].delete();
}


An dieser Stelle löscht er diese Datei, dann aber aus allen Ordnern, dass soll nicht passieren. Es soll diese Datei nur gelöscht werden, damit die "neuere " version aus dem zweiten Ordner in dem Archiv hinterlegt werden kann.
(Verwirrung ?) xD

weiß auch nicht genau ob ich dafür eine neue frage aufmachen soll xD
 
Kannst du damit was anfangen?
Wenn nein, wäre es gut, wenn du Fragen zum Code stellen würdest.
Es bringt dir natürlich nichts nur den Code zu nehmen, ohne ihn zu verstehen.
Das müsste eigentlich funktionieren.
Wenn du noch Unterordner verschieben willst musst du halt abfragen, ob "file" ein Directory ist und wenn ja, musst du wieder eine for Schleife mit den Unterfiles machen.
Kannst dir auch gerne mal Rekursionen anhand von Files ansehen.

Java:
 /**
     * Will move all files from a folder to another folder
     *
     * @param folder       is the folder which contains the files which you want to move
     * @param targetFolder is the folder where you want to move the files
     */
    private void moveToFolder(File folder, File targetFolder) {
        for (File file : folder.listFiles()) {
            try {
                Files.move(file, new File(targetFolder + "\\" + file.getName()));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
 
Hi @IAmFloppy , sehr lieb von dir!
ich hatte das zuerst mit einer Foreach probiert, habe jetzt aber jeweils für jeden Ordner eine for schleife gemacht..
Der Ordner2 soll quasi immer wenn es neue neue Datei hinterlegt bekommt (ordner1), die Date die vorher drin war archivieren.
Dh. das "überschreiben" im Archiv Ordner mit der Datei aus dem Ordner2, passiert nur, wenn die Datei in allen drei Ordnern vorhanden ist.
 
Das heißt nochmal zur Wiederholung:

Der dritte Ordner ist ein Archivordner?
Und alle Dateien sollen von Ordner1 in Ordner2 verschoben werden.
Und wenn diese schon vorhanden sind, sollen sie überschrieben aber vorher in den dritten Ordner verschoben werden?
 
Genau, also wenn die Datei schon im Archiv Ordner vorhanden ist.

Somit soll der Ordner 3 immer die "ältere Version" der Datei aus dem Ordner2 haben
 
Ich hoffe, dass ich es jetzt richtig geschafft habe.
Wenn nicht, entschuldige, bin noch ein bisschen müde und verwirrt, weil ich morgen eine Mathearbeit schreibe. xD

Der Code geht alle Dateien des ersten Ordners durch und schaut ob diese Datei auch im zweiten Ordner ist.
Wenn nein, dann movet er sie da rein.
Wenn doch, dann movet er die alte Datei in den Archivordner und movet dann die Datei vom Ordner1 zum Ordner2.

Java:
private void moveToFolder(File folder1, File folder2, File archiveFolder) {
        try {
            for (File file : folder1.listFiles()) {
                if (folder2.listFiles().length != 0) {
                    for (File folderTwoFile : folder2.listFiles()) {
                        if (file.getName().equals(folderTwoFile.getName())) {
                            Files.move(folderTwoFile.toPath(), new File(archiveFolder.getAbsolutePath() + "\\" + folderTwoFile.getName()).toPath());
                            Files.move(file.toPath(), new File(folder2.getAbsolutePath() + "\\" + file.getName()).toPath());
                        } else {
                            Files.move(file.toPath(), new File(folder2.getAbsolutePath() + "\\" + file.getName()).toPath());
                        }
                    }
                } else {
                    Files.move(file.toPath(), new File(folder2.getAbsolutePath() + "\\" + file.getName()).toPath());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
Wenn du willst, dass die Dateien trotzdem noch in Ordner1 bleiben, auch wenn sie in Ordner2 gemovet wurden, musst du
Java:
Files.move

umändern in

Java:
Files.copy
 
Java:
import java.nio.file.Files;
import java.nio.file.Path;
import java.io.File;
import java.io.IOException;

public class Test {
    public static void moveAll(File sourceFolder, File destFolder, File archiveFolder) throws IOException {
        Path source = sourceFolder.toPath();
        Path dest = destFolder.toPath();
        Path archive = archiveFolder.toPath();

        assertDirectory(source);
        assertDirectory(dest);
        assertDirectory(archive);
        
        for (File sourceFile : sourceFolder.listFiles()) {
            move(sourceFile.toPath(), dest, archive);
        }
    }

    private static void move(Path sourceFile, Path destFolder, Path archiveFolder) throws IOException {
        if (!Files.isRegularFile(sourceFile)) {
            return;
        }

        Path destPath = destFolder.resolve(sourceFile.getFileName());
        if (Files.exists(destPath)) {
            Files.move(destPath, archiveFolder.resolve(sourceFile.getFileName()));
        }
        Files.move(sourceFile, destPath);
    }

    private static void assertDirectory(Path path) {
        if (!Files.isDirectory(path)) {
            throw new IllegalArgumentException("Not a directory: " + path);
        }
    }    

    public static void main(String[] args) throws Exception {
        moveAll(new File("folder1"), new File("folder2"), new File("folder2/archive"));
    }
}
 
Also in Grunde genommen, funktioniert in meinem Code lassen, außer das er wenn die Datei in allen drei Ordnern existiert , die Datei aus Ordner 2 nicht mit der alter alten Datei aus dem Archiv Order "überschreibt "
 
Also irgdnwie frag ich mich wieso das nicht funktioniert!

If (Files.exists (folder2.toPath)){
Files.move(folder2.toPath(), archive.toPath,StandardCopyOption.REPLACE_EXISTING);

Ich nutze die ganze Zeit FileUtils.. macht das Sinn hier Files zu nutzen..

Ich hab auch das Gefühl das das nicht stimmt ^^ ☹️
 
Wo nutzt Du FileUtils und warum? Der Code von @IAmFloppy und mir nutzt ausschließlich Bordmittel. Habe meinen Code gerade nochmal getestet: funktioniert mit REPLACE_EXISTING.
 
Ich zeig Mal wie ich es gemacht habe :



Java:
For(int i=0; i < listfilesfolder1.legth; I++){
For(int k =0; k < listfilesfolder2.legth; k++) {
If ( listfilesfolder[i].getName().equals(listfilesfolder2[k].getName())){
try {
FileUtils.moveFileFromDirectory(listfilesfolder 2[k], folderdestArchiv,true);
FileUtils.moveFileFromDirectory(listfilesfolder1[i], folderdest,true);

... Da irgendwo muss doch jetzt noch der Check stattfinden, dass wenn im Archiv Ordner bereits diese Datei vorhanden ist, wird sie einfach mit der aus dem Ordner 2 überschrieben damit das verschieben funktioniert. Wenn ich's s so ausfuhre tut sich nix weil ich die exception bekomme "File vorhanden"
 
Zuletzt bearbeitet von einem Moderator:
Ich zeig Mal wie ich es gemacht habe :
For, If großgeschrieben, in der ersten for-Schleife erhöhst Du I statt i -> das kann nicht sein. Und moveFileFrom(?)Directory hört sich auch seltsam an. Ich verstehe auch immer noch nicht, warum Du eine externe Lib für Dinge verwendest, die Java von Haus aus mitbringt.

Nachtrag: ich vermute mal, dass Du Commons-IO FileUtils verwendest. Die move-Methode dort überschreibt keine Dateien, Du müsstest also selbst prüfen, ob es die Zieldatei schon gibt und ggf. löschen.
 
Zuletzt bearbeitet:
@mihe7

Code:
for(int i=0; i < listfilesfolder1.legth; i++){
for(int k =0; k < listfilesfolder2.legth; k++) {
If ( listfilesfolder[i].getName().equals(listfilesfolder2[k].getName())){
If(File fileinArchiv : listOfFileinArchive){

if(fileinArchiv.exists() && fileinArchive.getName().equals(listfilesfolder2[k].getName()))

// hier soll dann die Datei aus dem Archiv quasi gelöscht oder mit der Datei aus dem Ordner2"überschrieben werden".

}

try {
FileUtils.moveFileFromDirectory(listfilesfolder 2[k], folderdestArchiv,true);
FileUtils.moveFileFromDirectory(listfilesfolder1[i], folderdest,true);


Das Problem ist nur, bei mir kommt er erst gar nicht in diese Schleife.. 🙁
Danke euch vielmals für eure Mühe !!
 
Bei mir funktioniert das so
Java:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;

/**
 * @author tn, 14.04.2019
 */
public class FilesMover {
    public static HashMap<String, ArrayList<File>> moveA(File dir_a, File dir_b) throws IOException {
        HashMap<String, ArrayList<File>> fmap = new HashMap<>();
        fmap.put("copied", new ArrayList<>());
        fmap.put("existent", new ArrayList<>());
        File[] db = dir_b.listFiles();
        Arrays.sort(db);
        for (File fa : dir_a.listFiles()) {
            if (Arrays.binarySearch(db, fa, (File f1, File f2) -> f1.getName().compareTo(f2.getName())) >= 0) {
                fmap.get("existent").add(fa);
            } else {
                Path fb = Path.of(dir_b.getPath(), fa.getName());
                Files.copy(fa.toPath(), fb, StandardCopyOption.REPLACE_EXISTING);
                fmap.get("copied").add(fb.toFile());
            }
        }
        return fmap;
    }

    public static void moveB(HashMap<String, ArrayList<File>> fmap, File dir_b) throws IOException {
        for (File fa : fmap.get("existent")) {
            Path fb = Path.of(dir_b.getPath(), fa.getName());
            Files.copy(fa.toPath(), fb, StandardCopyOption.REPLACE_EXISTING);
            fmap.get("copied").add(fb.toFile());
        }
    }

    public static void main(String[] args) throws IOException {
        try {
            HashMap<String, ArrayList<File>> fmap = moveA(new File("o1"), new File("o2"));
            System.out.println("fmap: " + fmap);
            moveB(fmap, new File("o3"));
        } catch (IOException ioex) {
            System.out.println("ioex: " + ioex.getLocalizedMessage());
            throw ioex;
        }
    }
}

Code:
dir .\o1\
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       14.04.2019     17:13              0 test1.txt
-a----       14.04.2019     17:13              0 test2.txt
-a----       14.04.2019     17:13              0 test3.txt
-a----       14.04.2019     17:13              0 test4.txt

dir .\o2\
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       14.04.2019     17:13              0 test2.txt

dir .\o3\

Code:
fmap: {copied=[o2\test1.txt, o2\test3.txt, o2\test4.txt], existent=[o1\test2.txt]}

Danach enthält o2\ also alle Files aus o1\ - und o3\ enthält nur die bereits in o2\ bestehende Datei test2.txt . hth.
 
Aber nochmal ein Einschub.
moveB ändert nochmals die HashMap, das ist ggf nicht gewünscht.
Außerdem muss man bei Windows und mehreren Dateien mit gleichen Namen aufpassen. Wenn in o1\ eine Datei test2.txt wäre und in o2\ wäre eine Datei Test2.txt , so würde die Datei Test2.txt aus o2\ mit der Datei test2.txt aus o1\ überschrieben werden. Also gebe es dann mit gleichem Namen nur die Datei test2.txt in o2\. Ich weiß nicht, ob das gewünscht ist.
Falls nicht, so muss man sich equalsIgnoreCase schnappen - und mit equalsIgnoreCase sortieren und auch suchen. ... Das wiederum würd mit dem Linux FS problematisch werden.
Deswegen frage ich so genau nach, was eigentlich gewünscht ist...
 
Hi @Tobias-nrw vielen Dank für deinen Post 🙂
Ich würde das gerne versuchen so umzusetzen wie ich es die ganze Zeit probiere :-(
Es gibt drei Ordner: Ordner1, Ordner2 und das Archiv.
Als erstes befindet sich in dem ersten Ordner eine Test-Datei "aktuelleMitarbeiter" (zum Beispiel) , solch eine Liste wird sich ja immer wieder ändern. Diese Liste befindet sich am Anfang in dem Ordner1 und wird dann direkt in den Ordner2 verschoben(damit hier quasi immer die aktuelle Liste drin ist). So, wenn jetzt zum Beispiel die "aktuelleMitarbeiter" -Liste wieder neu bearbeitet und in den Ordner1 geschoben wird, soll die alte "aktuelleMitarbeiter" Datei in den Archiv-Ordner verschoben werden. Damit die neue Datei von Ordner 1 sich im Ordner2 verschoben werden kann. Dh. wenn sich quasi nichts tut, dann ist der Ordner1 leer, der Ordner2 enthält den aktuellen Stand der "aktuelleMitarbeiter" Datei und das Archiv enthält die vorherige Version der "aktuelleMitarbeiter" Datei.

Hoffe das ist verständlich 🙁

Danke.
 
for(int i=0; i < listfilesfolder1.legth; i++){ for(int k =0; k < listfilesfolder2.legth; k++) { If ( listfilesfolder.getName().equals(listfilesfolder2[k].getName())){ If(File fileinArchiv : listOfFileinArchive){ if(fileinArchiv.exists() && fileinArchive.getName().equals(listfilesfolder2[k].getName())) // hier soll dann die Datei aus dem Archiv quasi gelöscht oder mit der Datei aus dem Ordner2"überschrieben werden". } try { FileUtils.moveFileFromDirectory(listfilesfolder 2[k], folderdestArchiv,true); FileUtils.moveFileFromDirectory(listfilesfolder1, folderdest,true);

Ist denn einer dieser Ordner leer?
Wenn ich nicht gerade komplett blöd, wegen der Prüfungsphase, bin, müsste das ganze nicht durchgeführt werden, wenn der erste oder zweite Ordner leer sind.
Kannst du uns sagen, wie weit es in der for-Schleife geht?
 
Falls nicht, so muss man sich equalsIgnoreCase schnappen - und mit equalsIgnoreCase sortieren und auch suchen.
Ach sorry, my fault, mit equalsIgnoreCase zu sortieren oder zu suchen ist keine gute Idee ....

Also mal kurze Frage, hast du im zweiten Verzeichnis Dateien mit gleichen Namen wie im ersten Verzeichnis aber zum Beispiel groß-/kleingeschrieben?
 
Ist denn einer dieser Ordner leer?
Wenn ich nicht gerade komplett blöd, wegen der Prüfungsphase, bin, müsste das ganze nicht durchgeführt werden, wenn der erste oder zweite Ordner leer sind.
Kannst du uns sagen, wie weit es in der for-Schleife geht?
Prüfungsphasen? sind nicht gerade Ferien oder der Semesterbeginn. 🙄
 
@IAmFloppy
Der Ordner 1 ist quasi immer leer , weil er die aktuelle Datei in den zweiten Ordner schiebt und der zweite Ordner seine "ältere Verison" mit dem was bereits im Archiv ist überschreibt oder löscht und ersetzt.
 
Gleichfalls danke 🙂
wenn ich zb @mihe7 sein Code ausführe, funktioniert er soweit wie meiner, aber sobald ich in allen drei Ordnern die selbe Datei habe und quasi versuche wieder die aktuelle testdatei in den Ordner2 zu verschieben kommt die meldung" File Already exist"
 
Prüfungsphasen? sind nicht gerade Ferien oder der Semesterbeginn. 🙄

Ich schreibe leider direkt nach den Ferien meine Abschlussprüfungen für die Realschule .-. Deswegen heißt es üben, üben, üben.
Aber zurück zum Thema

Gleichfalls danke 🙂
wenn ich zb @mihe7 sein Code ausführe, funktioniert er soweit wie meiner, aber sobald ich in allen drei Ordnern die selbe Datei habe und quasi versuche wieder die aktuelle testdatei in den Ordner2 zu verschieben kommt die meldung" File Already exist"

Können wir nochmal deinen Code sehen? Denn wie die Fehlermeldung ja schon sagt, replaced du die File nicht, wenn sie schon existiert
 
@IAmFloppy , viel Erfolg 🙂

Code:
for(int i=0; i < listfilesfolder1.legth; i++){
for(int k =0; k < listfilesfolder2.legth; k++) {
If ( listfilesfolder[i].getName().equals(listfilesfolder2[k].getName())){
If(File fileinArchiv : listOfFileinArchive){

if(fileinArchiv.exists() && fileinArchive.getName().equals(listfilesfolder2[k].getName()))

// hier soll dann die Datei aus dem Archiv quasi gelöscht oder mit der Datei aus dem Ordner2"überschrieben werden".

}
else{


}

try {
FileUtils.moveFileFromDirectory(listfilesfolder2[k], folderdestArchiv,true);
FileUtils.moveFileFromDirectory(listfilesfolder1[i], folderdest,true);

Weisst du, ich bin mittlerweile selbst so verwirrt, ich weiß nicht mal mehr was mein Code macht xD
 
Versuch mal das 🙂
Java:
# Als erstes brauchst du die File, die überschrieben werden soll. Also die im Archiv
File archiveFile = new File(fileDieImArchivIst);

# Dann fragst du ab, ob diese Datei existiert
if(archiveFile.exists()) {
# Wenn ja, dann wird die Datei im Archiv gelöscht
    archiveFile.delete();
}

# Die neue Datei ((fileDieInsArchivSoll) wird in den Archivordner gemoved.
FileUtils.moveFileToDirectory(fileDieInsArchivSoll, archivOrdnerAlsFile, true);
 
Da wo du
Code:
// hier soll dann die Datei aus dem Archiv quasi gelöscht oder mit der Datei aus dem Ordner2"überschrieben werden".
geschrieben hast 🙂
 
Hier nochmal für deinen gesendeten Code umgeschrieben:
Java:
if(fileinArchiv.exists()) {
    fileinArchiv.delete();
}

FileUtils.moveFileToDirectory(listfilesfolder2[k], folderdestArchiv, true);
 
ok also irgendwas stimmt nicht, schau mal das ist mein ganzer Code:



Code:
for (File fileinFolder1 :listofFilesinF1){
    try{
    FileUtils.moveFileToDirectory(fileinFolder1,folder2,true);
    }
catch(){

}
}

for(int i = 0; i < listofFilesinF1.length(), i++){
    for(int k = 0; k < listofFilesinF2.length(), k++){
    
    if(listofFilesinF1[i].getName().equals(listofFilesinF2[k])){
    
    for(File fileinArchive : listofFileinArchive){
    
    if(fileinArchive.exists()){
    fileinArchive.delete();
    }
    
    FileUtils.moveFileToDirectory(listofFilesinF2[k], folderarchive,true);
    try{
    FileUtils.moveFileToDirectory(listofFilesinF2[k], folderarchive,true);
    }
    
    catch()
    {
    
    }
    
    }
    }
    }



}

So die Sache ist, es sollen auch nicht alle Dateien in dem Archiv gelöscht werden oder ersetzt, nur die um die es sich quasi handelt.

Danke 🙁
 
Java:
private void moveToFolder(File folder1, File folder2, File archiveFolder) {
        try {
            for (File file : folder1.listFiles()) {
                if (folder2.listFiles().length != 0) {
                    for (File folderTwoFile : folder2.listFiles()) {
                        if (file.getName().equals(folderTwoFile.getName())) {
                            Files.move(folderTwoFile.toPath(), new File(archiveFolder.getAbsolutePath() + "\\" + folderTwoFile.getName()).toPath());
                            Files.move(file.toPath(), new File(folder2.getAbsolutePath() + "\\" + file.getName()).toPath());
                        } else {
                            Files.move(file.toPath(), new File(folder2.getAbsolutePath() + "\\" + file.getName()).toPath());
                        }
                    }
                } else {
                    Files.move(file.toPath(), new File(folder2.getAbsolutePath() + "\\" + file.getName()).toPath());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Was ging denn damals daran nicht? Bei mir ging es eigentlich ganz gut 😕
Probier es damit nochmal
Einfach nur
Code:
moveToFolder(new File("ordner1"), new File("ordner2"), new File("archiv"));
 
Verschiebt er den ganzen Ordner oder nur die Dateien vom Archiv Ordner?
Und sind das normale Ordner oder irgendwas spezielles? (ZIP oder so)
 
den ganzen Ordner, hab nur unten in der Funktion meine Pfade eingefügt, also an deinem Code nichts geändert.
Und das:

java.nio.file.NoSuchFileException: C:\Users\Lias\Desktop\test\Archiv
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
 
Und kannst du mir mal die Zeile zeigen?
Also wie sieht die Zeile bei dir aus:
Java:
moveToFolder(new File("ordner1"), new File("ordner2"), new File("archiv"));
 

Zurück
Oben