亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么遍歷文件夾

發布時間:2021-12-18 15:20:44 來源:億速云 閱讀:131 作者:iii 欄目:云計算

本篇內容主要講解“Java怎么遍歷文件夾”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java怎么遍歷文件夾”吧!

/** 遍歷文件夾 */

public class TraversalFolder {

/**
 * 深度優先遍歷文件夾
 * <p>
 * 要點:使用遞歸的方式來實現。
 *
 * [@param](https://my.oschina.net/u/2303379) topFile
 * [@param](https://my.oschina.net/u/2303379) orderedList
 */
public static void depthFirstSearch(File topFile, ArrayList<File> orderedList) {

    if (null != topFile) {
        if (topFile.isDirectory()) {
            File[] files = topFile.listFiles();
            for (File file : files) {
                if (file.isDirectory()) {
                    depthFirstSearch(file, orderedList);
                } else {
                    orderedList.add(file);
                }
            }
        } else {
            orderedList.add(topFile);
        }
    }
}

/**
 * 廣度優先遍歷文件夾
 * <p>
 * 要點:利用棧的先進后出的特點來實現。
 *
 * [@param](https://my.oschina.net/u/2303379) topFile
 * [@param](https://my.oschina.net/u/2303379) orderedList
 * [@param](https://my.oschina.net/u/2303379) maxNum
 */
public static void breadthFirstSearch(File topFile, ArrayList<File> orderedList, int maxNum) {

    if (null != topFile) {

        LinkedBlockingQueue<File> queue = new LinkedBlockingQueue<File>(maxNum);
        queue.offer(topFile);

        while (!queue.isEmpty()) {

            File file = queue.poll();
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (File f : files) {
                    if (f.isDirectory()) {
                        queue.offer(f);
                    } else {
                        orderedList.add(f);
                    }
                }
            } else {
                orderedList.add(file);
            }
        }
    }
}


public static void main(String[] args) {

    String path = "C:\\Users\\jxn\\Desktop\\新建文件夾(3)";
    File topFile = new File(path);

    ArrayList<File> orderedList = new ArrayList<>();

//        depthFirstSearch(topFile,orderedList);
    breadthFirstSearch(topFile, orderedList, 100);

    orderedList.stream().forEach((x) -> {
        System.out.println(x.getAbsoluteFile());
    });

}

}

到此,相信大家對“Java怎么遍歷文件夾”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和田县| 保定市| 塘沽区| 固原市| 绥滨县| 龙海市| 白山市| 来安县| 张北县| 五华县| 胶南市| 鄂温| 琼中| 渑池县| 泗洪县| 景泰县| 博湖县| 尉犁县| 新巴尔虎右旗| 云龙县| 延津县| 湖口县| 屏南县| 辰溪县| 邛崃市| 大厂| 同仁县| 嘉鱼县| 灵山县| 新疆| 洛扎县| 临高县| 察雅县| 时尚| 团风县| 永城市| 闵行区| 河曲县| 富阳市| 清水河县| 当涂县|