1. 程式人生 > >遞迴-簡單例項

遞迴-簡單例項

需求:遍歷一個資料夾下的所有資料夾和檔案,全部存放到resultList中

/**
     * 不體現層級關係
     */
    @Test
    public void testRecursion(){
        String path = "E:\\testRecursion";
        File file = new File(path);     //獲取file物件
        List<File> resultList = getFiles(file,new ArrayList<>());
        System.out.println(resultList);
    }

    public
List<File> getFiles(File file,List<File> result){ File[] fs = file.listFiles(); if(fs.length!=0){ for(int i=0;i<fs.length;i++){ result.add(fs[i]); if(fs[i].isDirectory()){ getFiles(fs[i],result); } } }else
{ return null; } return result; }

輸出結果:

[E:\testRecursion\test1, E:\testRecursion\test1\test11, E:\testRecursion\test1\test11\test111.txt, E:\testRecursion\test2.txt]