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