在此示例中,我們將學(xué)習(xí)在Java中刪除一個空目錄,一個非空目錄和一個具有非空子目錄的目錄。
import java.io.File; class Main { public static void main(String[] args) { try { //創(chuàng)建一個新的文件對象 File directory = new File("Directory"); //刪除目錄 boolean result = directory.delete(); if(result) { System.out.println("目錄已刪除"); } else { System.out.println("找不到目錄"); } } catch (Exception e) { e.getStackTrace(); } } }
在上面的示例中,我們使用了File類的delete()方法來刪除名為Directory的目錄。
在此,如果目錄存在,則顯示消息目錄已刪除。否則,將顯示“ 找不到目錄”。
要了解有關(guān)文件的更多信息,請訪問Java File。
在Java中,要刪除非空目錄,我們必須首先刪除該目錄中存在的所有文件。然后,我們可以刪除目錄。
import java.io.File; class Main { public static void main(String[] args) { try { //創(chuàng)建一個新的文件對象 File directory = new File("Directory"); //列出數(shù)組中的所有文件 File[] files = directory.listFiles(); //從目錄中刪除每個文件 for(File file : files) { System.out.println(file + " deleted."); file.delete(); } //刪除目錄 if(directory.delete()) { System.out.println("目錄已刪除"); } else { System.out.println("Directory not Found"); } } catch (Exception e) { e.getStackTrace(); } } }
在上面的示例中,我們已使用for-each循環(huán)刪除目錄中存在的所有文件。一旦刪除了所有文件,便使用delete()方法刪除目錄。
import java.io.File; class Main { public static void deleteDirectory(File directory) { //文件是否為目錄 if(directory.isDirectory()) { File[] files = directory.listFiles(); //如果目錄包含任何文件 if(files != null) { for(File file : files) { //如果子目錄為非空,則進(jìn)行遞歸調(diào)用 deleteDirectory(file); } } } if(directory.delete()) { System.out.println(directory + " 被刪除"); } else { System.out.println("目錄未刪除"); } } public static void main(String[] args) { try { //創(chuàng)建一個新的文件對象 File directory = new File("Directory"); Main.deleteDirectory(directory); } catch (Exception e) { e.getStackTrace(); } } }
在這里,假設(shè)我們有一個名為的非空目錄Directory。將Directory包含2個文件命名file1.txt,并file2.txt和一個名為非空的子目錄Subdirectory。同樣,Subdirectory包含一個名為的文件file11.txt。
現(xiàn)在,當(dāng)我們運行程序時,我們將得到以下輸出。
Directory\file1.txt 被刪除 Directory\file2.txt 被刪除 Directory\Subdirectory\file11.txt 被刪除 Directory\Subdirectory 被刪除 目錄已刪除
在此,首先刪除2個文件,然后遞歸函數(shù)刪除 Subdirectory 內(nèi)的文件。一旦Subdirectory為空,則將其刪除。并且,最后將刪除 Directory 。