Program Java untuk Menghapus Direktori Kosong dan Tidak Kosong

Dalam contoh ini, kita akan belajar menghapus direktori kosong, direktori tidak kosong, dan direktori dengan subdirektori tidak kosong di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Kelas File Java
  • Rekursi Java

Contoh 1: Program Java untuk menghapus direktori kosong

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

Dalam contoh di atas, kami telah menggunakan delete()metode Filekelas untuk menghapus direktori bernama Direktori .

Di sini, jika direktori ada, maka pesan Direktori Dihapus ditampilkan. Jika tidak, Direktori tidak Ditemukan akan ditampilkan.

Contoh 2: Hapus direktori yang tidak kosong

Di Java, untuk menghapus direktori yang tidak kosong, pertama-tama kita harus menghapus semua file yang ada di direktori tersebut. Kemudian, kita dapat menghapus direktori tersebut.

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

Dalam contoh di atas, kami telah menggunakan for-eachloop untuk menghapus semua file yang ada di direktori. Setelah, semua file dihapus, kami menggunakan delete()metode untuk menghapus direktori.

Contoh 3: Hapus direktori tidak kosong secara rekursif

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

Di sini, misalkan kita memiliki direktori tidak kosong bernama Direktori. Direktori berisi 2 file bernama file1.txt dan file2.txt dan subdirektori tidak kosong bernama Subdirektori. Sekali lagi, Subdirektori berisi file bernama file11.txt.

Sekarang, ketika kita menjalankan program, kita akan mendapatkan output berikut.

 Direktori file1.txt dihapus Direktori file2.txt dihapus Direktori Subdirektori file11.txt dihapus Direktori Subdirektori dihapus Direktori dihapus

Di sini, 2 file pertama dihapus, kemudian fungsi rekursif menghapus file yang ada di dalam Subdirektori. Sekali, Subdirektori kosong, itu dihapus. Dan, akhirnya Direktori tersebut dihapus.

Artikel yang menarik...