常用算法-遍历文件夹的非递归实现

    技术2022-07-16  81

    public static List<File> scanFolder(File folder) { List<File> scanedFile = new ArrayList<File>(); if(!folder.isDirectory()) { return scanedFile; } Queue<File> folderNeedToScan = new LinkedList<>(); File[] files = folder.listFiles(); for(File subFile : files) { if(subFile.isFile()) { scanedFile.add(subFile); } else if(subFile.isDirectory()) { folderNeedToScan.add(subFile); } } while(!folderNeedToScan.isEmpty()) { File scanedFolder = folderNeedToScan.poll(); for(File subFile: scanedFolder.listFiles()) { if(subFile.isFile()) { scanedFile.add(subFile); } else if(subFile.isDirectory()) { folderNeedToScan.add(subFile); } } } return scanedFile; }

     

    Processed: 0.010, SQL: 9