如何使用 Java 刪除資料夾和子資料夾?
Java.io 包的 File 類表示系統中的檔案或目錄(路徑名)。此類提供各種方法來對檔案或目錄執行各種操作。
File 類中的 delete() 方法刪除當前 File 物件表示的檔案或目錄。
File 類中的這個 ListFiles() 方法返回一個數組,其中包含當前(File)物件表示路徑中的所有檔案(和目錄)的物件(抽象路徑)。
因此,若要連同其中的子目錄和檔案一起刪除某個資料夾,你需要定義一個迴圈方法。
示例
以下 Java 程式以迴圈的方式刪除指定的目錄 −
import java.io.File;
public class DeletingFilesRecursively {
static void deleteFolder(File file){
for (File subFile : file.listFiles()) {
if(subFile.isDirectory()) {
deleteFolder(subFile);
} else {
subFile.delete();
}
}
file.delete();
}
public static void main(String args[]) {
String filePath = "E://ExampleDirectory//";
//Creating the File object
File file = new File(filePath);
deleteFolder(file);
System.out.println("Files deleted........");
}
}輸出
Files deleted........
使用 ApacheCommonsIO
ApacheCommonsIO 的 deleteDirectory() 方法接受一個檔案路徑並將其遞迴刪除。
Maven 依賴關係
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
示例
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class DeletingFilesRecursively2 {
public static void main(String args[]) throws IOException {
String filePath = "E://ExampleDirectory//";
//Creating the File object
File file = new File(filePath);
FileUtils.deleteDirectory(file);
System.out.println("Files deleted........");
}
}輸出
Files deleted........
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP