Програма Java за изтриване на празна и непразна директория

В този пример ще се научим да изтриваме празна директория, непразна директория и директория с непразна поддиректория в Java.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java File Class
  • 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 .

Тук, ако директорията присъства, се показва съобщението Directory Deleted . В противен случай се показва директория не е намерена .

Пример 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(); ) ) )

Тук, да предположим, че имаме непразна директория с име Directory. Директорията съдържа 2 файла с имена file1.txt и file2.txt и непразна поддиректория с име Subdirectory. Отново поддиректорията съдържа файл с име file11.txt.

Сега, когато стартираме програмата, ще получим следния изход.

 Директория file1.txt се изтрива Директория file2.txt се изтрива Директория Поддиректория file11.txt се изтрива Директория Поддиректория се изтрива Директорията се изтрива

Тук първо се изтриват 2 файла, след това рекурсивната функция изтрива файловете в поддиректорията. След като поддиректорията е празна, тя се изтрива. И накрая Директорията се изтрива.

Интересни статии...