遞迴刪除多級資料夾及檔案
阿新 • • 發佈:2019-01-30
實現刪除某個目錄刪除及該目錄裡面所有的子檔案和資料夾的功能
整體思路:
* 檔案存在
* 是檔案 –直接呼叫delete刪除
* 是資料夾–接收資料夾下file例項並遍歷
* 呼叫自身遞迴判斷
* 刪除空資料夾
import java.io.File;
/**
* @author Administrator
*/
public class DiGuiTest
{
public static void main(String[] args)
{
File file = new File("F://test");
deletAllFiles(file);
}
/**
*遞迴刪除檔案目錄及檔案
* @param file
*/
public static void deletAllFiles(File file)
{
if (file == null)
{
return;
}
//檔案目錄存在?(包括檔案及資料夾)
if (file.exists())
{
//是檔案?
if (file.isFile())
{
System.out.println(file.getAbsolutePath());
file.delete();
}
//是資料夾?
else if (file.isDirectory())
{
//接收資料夾目錄下所有的檔案例項
File[] listFiles = file.listFiles();
//資料夾為空 遞迴出口
if (listFiles == null)
{
return;
}
for (File file2 : listFiles)
{
//foreach遍歷刪除檔案 遞迴
deletAllFiles(file2);
System.out.println("正在刪除資料夾 " + file.getAbsolutePath());
}
//遞迴跳出來的時候刪除空資料夾
System.out.println("正在刪除資料夾" + file.getAbsolutePath());
file.delete();
}
}
}
}