Java 刪除文件夾的辦法
- File file = new File("D:/defonds/temp");
如果 "D:/defonds/temp" 是一個空目錄的話,可以成功刪除。但是如果是一個非空目錄的話,就無法成功刪除,必須將其子文件(目錄)刪除干淨才可刪除成功。使用以下的方法可以成功刪除非空文件夾:
- //遞歸刪除文件夾
- private void deleteFile(File file) {
- if (file.exists()) {//判斷文件是否存在
- if (file.isFile()) {//判斷是否是文件
- file.delete();//刪除文件
- } else if (file.isDirectory()) {//否則如果它是一個目錄
- File[] files = file.listFiles();//聲明目錄下所有的文件 files[];
- for (int i = 0;i < files.length;i ++) {//遍歷目錄下所有的文件
- this.deleteFile(files[i]);//把每個文件用這個方法進行迭代
- }
- file.delete();//刪除文件夾
- }
- } else {
- System.out.println("所刪除的文件不存在");
- }
- }
或者使用下邊的這個方法,也很不錯:
- public static void deleteAllFilesOfDir(File path) {
- if (!path.exists())
- return;
- if (path.isFile()) {
- path.delete();
- return;
- }
- File[] files = path.listFiles();
- for (int i = 0; i < files.length; i++) {
- deleteAllFilesOfDir(files[i]);
- }
- path.delete();
- }