1. 程式人生 > >File-用遞迴刪除某資料夾(資料夾下可能有檔案或資料夾)

File-用遞迴刪除某資料夾(資料夾下可能有檔案或資料夾)

利用遞迴演算法刪除某資料夾(包括其所有的子檔案及資料夾)


import java.io.File;

public class Dem01 {

    public static void main(String[] args) {
        File file = new File("E:\\JAVA_WORK");
        deleteDirectory(file);
    }

    private static void deleteDirectory(File file) {
        /**
         * 若是檔案直接刪除
         */
if (file.isFile()) { file.delete(); return; } if (file.isDirectory()) { /** * 若是資料夾,對其子資料夾遞迴呼叫deleteDirectory */ File[] files = file.listFiles(); for (File sub : files) { deleteDirectory(sub); } // 刪除資料夾裡的所有檔案後,刪除空資料夾
String folderPath = file.getPath();// 已經沒有子檔案的資料夾路徑 File folder = new File(folderPath); folder.delete(); } } }

利用遞迴檢視某資料夾裡的所有檔案目錄


import java.io.File;

public class Dem02 {

    public static void main(String[] args) {
        File file = new File("E:\\JAVA_WORK"
); listFiles(file, 0); } private static void listFiles(File file, int level) { String preStr = ""; for (int i = 0; i < level; i++) { preStr += " "; } System.out.println(preStr + file.getName()); if (file.isDirectory()) { File[] files = file.listFiles(); for (File sub : files) { listFiles(sub, level + 1); } } } }