„Java“ programa tuščiam ir ne tuščiam katalogui ištrinti

Šiame pavyzdyje mes išmoksime ištrinti tuščią katalogą, tuščią katalogą ir katalogą su tuščiu „Java“ pakatalogiu.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java“ failų klasė
  • „Java Recursion“

1 pavyzdys: „Java“ programa tuščiam katalogui ištrinti

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

Ankstesniame pavyzdyje mes naudojome klasės delete()metodą, kad Fileištrintume katalogą pavadinimu Katalogas .

Jei yra katalogas, rodomas pranešimas Katalogas ištrintas . Kitu atveju rodomas katalogas nerastas .

2 pavyzdys: Ištrinkite ne tuščią katalogą

„Java“, norėdami ištrinti ne tuščią katalogą, pirmiausia turime ištrinti visus kataloge esančius failus. Tada mes galime ištrinti katalogą.

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

Ankstesniame pavyzdyje mes naudojome for-eachkilpą, kad ištrintume visus failus, esančius kataloge. Kai visi failai bus ištrinti, mes naudojome delete()metodą katalogui ištrinti.

3 pavyzdys: rekursyviai ištrinkite ne tuščią katalogą

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

Tarkime, kad turime ne tuščią katalogą pavadinimu Katalogas. Kataloge yra 2 failai pavadinimu file1.txt ir file2.txt ir tuščias pakatalogis pavadinimu Pakatalogis. Vėlgi, pakatalogyje yra failas pavadinimu file11.txt.

Dabar, kai vykdysime programą, gausime tokią išvestį.

 Katalogas file1.txt ištrintas Katalogas file2.txt ištrintas Katalogas pakatalogis failas11.txt ištrintas Katalogas pakatalogis ištrintas Katalogas ištrintas

Pirmiausia ištrinami 2 failai, tada rekursinė funkcija ištrina failus pakatalogyje. Kai pakatalogis tuščias, jis ištrinamas. Galiausiai katalogas ištrinamas.

Įdomios straipsniai...