天天看點

java代碼查詢檔案

代碼:

import java.io.File;
import java.util.List;
import java.util.ArrayList;

/**
 * 搜尋檔案
 * @author Administrator
 *
 */
public class ScanFile {
	
	private List<String> fileNameList = new ArrayList<String>();
	
	/**
	 * 查找某檔案夾下的某檔案
	 * @param file
	 * @param xmlName
	 */
	private void GetFileName(File file,String xmlName){
		//判斷檔案存在
		if(null!=file&&file.exists()){
			//判斷檔案是目錄
			if(file.isDirectory()){
				//列出該路徑下所有檔案
				File[] fileArray=file.listFiles();
				//判斷該文檔目錄是否為空
				if(fileArray!=null){
					//周遊該文檔目錄下所有檔案
					for (int i = 0; i < fileArray.length; i++) {
                        //遞歸調用
						GetFileName(fileArray[i],xmlName);
                    }
				}
			}else{
				if(file.getName().equalsIgnoreCase(xmlName))
					fileNameList.add(file.getAbsolutePath());
			}
		}
	}
	
	/**
	 * 擷取檔案絕對路徑
	 * @param file	掃描檔案夾
	 * @param xmlName	目标全名
	 * @return
	 */
	public List<String> getFileNameList(File file,String xmlName) {
		GetFileName(file,xmlName);
		return fileNameList;
	}
}