1. 程式人生 > >java 遞迴顯示某個資料夾下所有的檔名稱

java 遞迴顯示某個資料夾下所有的檔名稱

import java.io.File;

public class generateMappingClass {

	public static void main(String[] args) throws Exception {  
        File file = new File("G:/program/myeclipse2016workspace/entity/src/main/java/com//oa/entity"+File.separator);  
        list(file);  
	 }

	public static void list(File file) {
		if (file.isDirectory())// 判斷file是否是目錄
		{
			File[] lists = file.listFiles();
			if (lists != null) {
				for (int i = 0; i < lists.length; i++) {
					list(lists[i]);// 是目錄就遞迴進入目錄內再進行判斷
				}
			}
		}
		if(file.getPath().endsWith(".java")){
			
			String name = file.getPath().replace("G:\\program\\myeclipse2016workspace\\entity\\src\\main\\java\\", "").replace("\\", ".").replace(".java", "");
			
//			<mapping class="cc..entity.sale.tour.SaleTour" />
			
			String before = "<mapping class=\"";
			String end = "\" />";
			
			System.out.println(before + name + end);// file不是目錄,就輸出它的路徑名,這是遞迴的出口
		}
	}
}