abp框架Excel匯出——基於vue
阿新 • • 發佈:2020-07-29
遞迴,指在當前方法內呼叫自己的這種現象
public void method(){ System.out.println(“遞迴的演示”); //在當前方法內呼叫自己 method(); }
遞迴分為兩種,直接遞迴和間接遞迴。
直接遞迴稱為方法自身呼叫自己。間接遞迴可以A方法呼叫B方法,B方法呼叫C方法,C方法呼叫A方法。
遞迴一定要有條件限定,保證遞迴能夠停止下來,否則會發生棧記憶體溢位。
在遞迴中雖然有限定條件,但是遞迴次數不能太多。否則也會發生棧記憶體溢位。
遞迴列印所有子目錄中的檔案路徑
public class FileDemo2 {public static void main(String[] args) { File file = new File("d:\\test"); getFileAll(file); } //獲取指定目錄以及子目錄中的所有的檔案 public static void getFileAll(File file) { File[] files = file.listFiles(); //遍歷當前目錄下的所有檔案和資料夾 for (File f : files) { //判斷當前遍歷到的是否為目錄if(f.isDirectory()){ //是目錄,繼續獲取這個目錄下的所有檔案和資料夾 getFileAll(f); }else{ //不是目錄,說明當前f就是檔案,那麼就打印出來 System.out.println(f); } } } }
搜尋指定目錄中的.java檔案(含子目錄)
public class FileDemo4 { public staticvoid main(String[] args) { File file = new File("d:\\test"); getFileAll(file); } //獲取指定目錄以及子目錄中的所有的檔案 public static void getFileAll(File file) { File[] files = file.listFiles(MyFileFilter()); //遍歷當前目錄下的所有檔案和資料夾 for (File f : files) { //判斷當前遍歷到的是否為目錄 if(f.isDirectory()){ //是目錄,繼續獲取這個目錄下的所有檔案和資料夾 getFileAll(f); }else{ //不是目錄,說明當前f就是檔案,那麼就打印出來 System.out.println(f); } } } }
//定義類實現檔名稱FilenameFilter過濾器 class MyFileFilter implements FilenameFilter{ public boolean accept(File dir, String name) { return name.endsWith(".java"); } }