Java-program for å slette tom og ikke-tom katalog

I dette eksemplet vil vi lære å slette en tom katalog, en ikke-tom katalog og en katalog med ikke-tom underkatalog i Java.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:

  • Java-filklasse
  • Java-rekursjon

Eksempel 1: Java-program for å slette en tom katalog

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

I eksemplet ovenfor har vi brukt delete()metoden i Fileklassen til å slette katalogen som heter Directory .

Her, hvis katalogen er til stede, vises meldingen Directory Slettet . Ellers vises katalogen ikke funnet .

Eksempel 2: Slett en katalog som ikke er tom

I Java, for å slette en ikke-tom katalog, må vi først slette alle filene i katalogen. Deretter kan vi slette katalogen.

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

I eksemplet ovenfor har vi brukt for-eachsløyfen til å slette alle filene som er tilstede i katalogen. Når alle filene er slettet, brukte vi delete()metoden for å slette katalogen.

Eksempel 3: Slett ikke-tom katalog rekursivt

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

Anta at vi har en ikke-tom katalog som heter Directory. Katalogen inneholder to filer kalt file1.txt og file2.txt og en ikke-tom underkatalog med navn underkatalog. Igjen inneholder underkatalogen en fil med navnet file11.txt.

Nå, når vi kjører programmet, får vi følgende utdata.

 Katalog file1.txt slettes Katalog file2.txt slettes Katalog Underkatalog fil11.txt slettes Katalog Underkatalog slettes Katalog slettes

Her slettes de første 2 filene, deretter sletter den rekursive funksjonen filene i underkatalogen. Når underkatalogen er tom, blir den slettet. Og til slutt slettes katalogen.

Interessante artikler...