Új hozzászólás Aktív témák

  • n00n

    őstag

    Sziasztok!

    Van egy Java függvényem, aminek annyi a lényege, hogy megadunk egy forrás-, és egy célmappát. Majd végigmegy egyesével rekurzívan és átmásolja a még nem nem átmásolt fájlokat:

    //másolás függvény:
    public void masolasFGV(File src, File dest)
    throws IOException {
    //Meg vizsgáljuk, hogy mappa-e:
    if (src.isDirectory()) {
    //Megpróbáljuk létrehozni a mappát (ha van, akkor nem csinál semmit)
    dest.mkdir();
    //Listába rendezzük a mappa tartalmát:
    String files[] = src.list();
    //Majd egyesével végigmegyünk rajta:
    for (String file : files) {
    //Elkészítjük a fájlokat:
    srcFile = new File(src, file);
    destFile = new File(dest, file);
    //Rekurzív másolás:
    masolasFGV(srcFile, destFile);
    }
    } else {
    // Ha a cél nem létezik, másolunk:
    if (!dest.exists()) {
    Files.copy(src.toPath(), dest.toPath());
    System.out.println("Másolás: " + src);
    } else {
    System.out.println("Van már: " + src);
    }
    }
    }

    Ez szép is meg jó is. Viszont szeretnék rajta egy kicsit módosítani. Tök sok olyan van, hogy egy mappában van még egy csomó mappa, meg fájl és ezek már meg vannak és felesleges újra "megvizsgálni" őket. Ezért egyszerűbb lenne: Megadjuk a forrásmappát és a célmappát. Ellenőrzi az utolsó módosítás dátumát (.lastModified()), ha nagyobb (azaz újabb), mint az utolsó mentés dátuma akkor belemegy és végig megy rajta ugyanúgy, mint a fenti példában. Viszont ellenkező esetben az egészet kihagyja. Valakinek ötlet?

    [ Szerkesztve ]

Új hozzászólás Aktív témák