Chương trình Java để xóa thư mục trống và không trống

Trong ví dụ này, chúng ta sẽ học cách xóa một thư mục trống, một thư mục không trống và một thư mục có thư mục con không trống trong Java.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Java sau:

  • Lớp tệp Java
  • Đệ quy Java

Ví dụ 1: Chương trình Java để xóa một thư mục trống

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

Trong ví dụ trên, chúng ta đã sử dụng delete()phương thức của Filelớp để xóa thư mục có tên là Directory .

Tại đây, nếu thư mục hiện diện, thì thông báo Thư mục đã xóa sẽ hiển thị. Nếu không, Thư mục không Tìm thấy được hiển thị.

Ví dụ 2: Xóa một thư mục không trống

Trong Java, để xóa một thư mục không trống, trước tiên chúng ta phải xóa tất cả các tệp có trong thư mục. Sau đó, chúng ta có thể xóa thư mục.

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

Trong ví dụ trên, chúng tôi đã sử dụng for-eachvòng lặp để xóa tất cả các tệp có trong thư mục. Sau khi, tất cả các tệp bị xóa, chúng tôi đã sử dụng delete()phương pháp để xóa thư mục.

Ví dụ 3: Xóa thư mục không trống một cách đệ quy

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

Ở đây, giả sử chúng ta có một thư mục không trống có tên là Directory. Thư mục chứa 2 tệp có tên là file1.txt và tệp2.txt và một thư mục con không trống có tên là Subdirectory. Một lần nữa, Thư mục con chứa một tệp có tên là file11.txt.

Bây giờ, khi chúng ta chạy chương trình, chúng ta sẽ nhận được kết quả sau.

 Thư mục file1.txt bị xóa Thư mục file2.txt bị xóa Thư mục Thư mục con file11.txt bị xóa Thư mục Thư mục con đã bị xóa Thư mục bị xóa

Ở đây, 2 tệp đầu tiên sẽ bị xóa, sau đó hàm đệ quy sẽ xóa các tệp bên trong Thư mục con. Khi Thư mục con trống, nó sẽ bị xóa. Và, cuối cùng Thư mục bị xóa.

thú vị bài viết...