U ovom ćemo primjeru naučiti brisati prazan direktorij, neprazan direktorij i direktorij s nepraznim poddirektorijom na Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Klasa Java datoteke
- Java rekurzija
Primjer 1: Java program za brisanje praznog direktorija
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(); ) ) )
U gornjem primjeru koristili smo delete()
metodu File
klase za brisanje direktorija nazvanog Direktorij .
Ovdje je, ako je prisutan direktorij, prikazana poruka Imenik izbrisan . Inače se prikazuje direktorij nije pronađen .
Primjer 2: Izbrišite direktorij koji nije prazan
U Javi, da bismo izbrisali neprazan direktorij, prvo moramo izbrisati sve datoteke prisutne u direktoriju. Zatim možemo izbrisati direktorij.
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(); ) ) )
U gornjem primjeru koristili smo for-each
petlju za brisanje svih datoteka prisutnih u direktoriju. Jednom kada su sve datoteke izbrisane, delete()
metodom smo koristili brisanje direktorija.
Primjer 3: Rekurzivno izbrišite direktorij koji nije prazan
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(); ) ) )
Evo, pretpostavimo da imamo neprazan direktorij nazvan Directory. Direktorij sadrži 2 datoteke s imenom file1.txt i file2.txt i neprazan poddirektorij pod nazivom Poddirektorij. Ponovno, poddirektorij sadrži datoteku nazvanu file11.txt.
Sada, kada pokrenemo program, dobit ćemo sljedeći izlaz.
Direktorij file1.txt se briše Direktorij file2.txt se briše Direktorij Poddirektorij file11.txt se briše Direktorij Poddirektorij se briše Direktorij se briše
Ovdje se prvo brišu 2 datoteke, a zatim rekurzivna funkcija briše datoteke unutar poddirektorijuma. Jednom je poddirektorij prazan i briše se. I, konačno, Direktorij se briše.