如何使用 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........
廣告