91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

当阳市| 蒙自县| 长乐市| 黑山县| 西盟| 彭州市| 甘洛县| 启东市| 海原县| 建瓯市| 西宁市| 乌兰察布市| 巴青县| 尚义县| 美姑县| 岐山县| 内丘县| 新野县| 万山特区| 滦南县| 喀喇沁旗| 神农架林区| 治多县| 沧州市| 河西区| 霍城县| 黄陵县| 灌阳县| 泗洪县| 杂多县| 诸暨市| 兰坪| 平果县| 兴业县| 乡宁县| 博乐市| 仙居县| 轮台县| 巢湖市| 定西市| 松阳县|