如何獲取java中目錄和子目錄中的所有文件

使用遞歸方法列出目錄及其子目錄中的文件。

The method lists the files in the current directory, then it calls itself recursively for all the subdirectories.

創建以下java文件:

import java.io.File;

public class FolderListAllFilesDirectory {
    
    public static void listAllFiles(File file){
	
	// List all the files using the filter
	File[] tab = file.listFiles();
	
	for( File current : tab ){
	    if( current.isFile() )
		System.out.println( current.getAbsolutePath() + " is a file " );
	    else if( current.isDirectory() ){
		listAllFiles( current );
	    }
	}

    }
    
    public static void main(String[] argv) {

	File file = new File("V:/tmp/aaa");

	listAllFiles( file );
	
    }

}

輸出結果為:

V:\tmp\aaa\New Text Document.txt is a file 
V:\tmp\aaa\oliviertech.com\index.html is a file 
V:\tmp\aaa\oliviertech.com\test\test.txt is a file 
V:\tmp\aaa\oliviertech.com\test.html is a file 

該方法顯示文件並處理文件系統返回的每個子目錄。 可以修改該方法以先按寬度進行處理,首先返回文件。 或者該方法可以首先按深度處理:首先處理目錄和子目錄。


參考文獻:

java 8 File

最近評論