Java program az üres és nem üres könyvtár törléséhez

Ebben a példában megtanulunk egy üres könyvtárat, egy nem üres könyvtárat és egy nem üres alkönyvtárral rendelkező könyvtárat törölni a Java-ban.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java fájl osztály
  • Java rekurzió

1. példa: Java program egy üres könyvtár törléséhez

 import java.io.File; class Main ( public static void main(String() args) ( try ( // create a new file object File directory = new File("Directory"); // delete the directory boolean result = directory.delete(); if(result) ( System.out.println("Directory Deleted"); ) else ( System.out.println("Directory not Found"); ) ) catch (Exception e) ( e.getStackTrace(); ) ) )

A fenti példában delete()az Fileosztály módszerét használtuk a Directory nevű könyvtár törlésére .

Itt, ha a könyvtár van, akkor a Directory Deleted üzenet jelenik meg. Ellenkező esetben a Directory not found jelenik meg.

2. példa: Töröljön egy nem üres könyvtárat

A Java-ban egy nem üres könyvtár törléséhez először törölnünk kell a könyvtárban található összes fájlt. Ezután törölhetjük a könyvtárat.

 import java.io.File; class Main ( public static void main(String() args) ( try ( // create a new file object File directory = new File("Directory"); // list all the files in an array File() files = directory.listFiles(); // delete each file from the directory for(File file : files) ( System.out.println(file + " deleted."); file.delete(); ) // delete the directory if(directory.delete()) ( System.out.println("Directory Deleted"); ) else ( System.out.println("Directory not Found"); ) ) catch (Exception e) ( e.getStackTrace(); ) ) )

A fenti példában a for-eachciklust használtuk a könyvtárban található összes fájl törlésére. Miután minden fájl törlődött, delete()a könyvtár törléséhez használtuk a módszert.

3. példa: A nem üres könyvtár törlése rekurzív módon

 import java.io.File; class Main ( public static void deleteDirectory(File directory) ( // if the file is directory or not if(directory.isDirectory()) ( File() files = directory.listFiles(); // if the directory contains any file if(files != null) ( for(File file : files) ( // recursive call if the subdirectory is non-empty deleteDirectory(file); ) ) ) if(directory.delete()) ( System.out.println(directory + " is deleted"); ) else ( System.out.println("Directory not deleted"); ) ) public static void main(String() args) ( try ( // create a new file object File directory = new File("Directory"); Main.deleteDirectory(directory); ) catch (Exception e) ( e.getStackTrace(); ) ) )

Tegyük fel, hogy van egy nem üres könyvtárunk, amelynek neve Directory. A Címtár tartalmaz 2 file1.txt és file2.txt nevű fájlt és egy nem üres alkönyvtárat, amelynek neve Alkönyvtár. Az alkönyvtár ismét tartalmaz egy file11.txt nevű fájlt.

Most, amikor futtatjuk a programot, a következő kimenetet kapjuk.

 Directory file1.txt törölve Directory file2.txt törölve Directory alkönyvtár file11.txt törölve Directory alkönyvtár törölve Directory törölve

Itt először 2 fájlt törölnek, majd a rekurzív függvény törli az alkönyvtárban található fájlokat. Miután az alkönyvtár üres, törlődik. Végül a Directory törlődik.

érdekes cikkek...