1. 程式人生 > 實用技巧 >abp框架Excel匯出——基於vue

abp框架Excel匯出——基於vue

遞迴,指在當前方法內呼叫自己的這種現象

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 static
void 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");
    }
}