Πρόγραμμα Java για διαγραφή κενών και μη κενών καταλόγων

Σε αυτό το παράδειγμα, θα μάθουμε να διαγράφουμε έναν κενό κατάλογο, έναν άδειο κατάλογο και έναν κατάλογο με μη κενό υποκατάλογο στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Τάξη αρχείων Java
  • Αναδρομή Java

Παράδειγμα 1: Πρόγραμμα Java για διαγραφή ενός κενού καταλόγου

 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(); ) ) )

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη delete()μέθοδο της Fileκλάσης για να διαγράψουμε τον κατάλογο που ονομάζεται Directory .

Εδώ, εάν υπάρχει ο κατάλογος, εμφανίζεται το μήνυμα Κατάργηση καταλόγου . Διαφορετικά, εμφανίζεται ο κατάλογος που δεν βρέθηκε .

Παράδειγμα 2: Διαγραφή ενός μη κενού καταλόγου

Στην Java, για να διαγράψουμε έναν άδειο κατάλογο, πρέπει πρώτα να διαγράψουμε όλα τα αρχεία που υπάρχουν στον κατάλογο. Στη συνέχεια, μπορούμε να διαγράψουμε τον κατάλογο.

 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(); ) ) )

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τον for-eachβρόχο για να διαγράψουμε όλα τα αρχεία που υπάρχουν στον κατάλογο. Μόλις διαγραφούν όλα τα αρχεία, χρησιμοποιήσαμε τη delete()μέθοδο για να διαγράψουμε τον κατάλογο.

Παράδειγμα 3: Διαγράψτε τον μη κενό κατάλογο αναδρομικά

 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(); ) ) )

Εδώ, ας υποθέσουμε ότι έχουμε έναν άδειο κατάλογο που ονομάζεται Κατάλογος. Ο κατάλογος περιέχει 2 αρχεία με το όνομα file1.txt και file2.txt και ένα μη κενό υποκατάλογο με το όνομα Subdirectory. Και πάλι, ο Υποκατάλογος περιέχει ένα αρχείο με το όνομα file11.txt.

Τώρα, όταν εκτελούμε το πρόγραμμα, θα έχουμε την ακόλουθη έξοδο.

 Κατάλογος file1.txt διαγράφεται Κατάλογος file2.txt διαγράφεται Κατάλογος Υποκατάλογος file11.txt διαγράφεται Κατάλογος Υποκατάλογος διαγράφεται Ο κατάλογος διαγράφεται

Εδώ διαγράφονται τα πρώτα 2 αρχεία και μετά η αναδρομική συνάρτηση διαγράφει τα αρχεία στον Υποκατάλογο. Μόλις ο Υποκατάλογος είναι άδειος, διαγράφεται. Και, τέλος, ο Κατάλογος διαγράφεται.

ενδιαφέροντα άρθρα...