java 輸出某路徑下的指定類型文件的文件名及絕對路徑

Java輸出某路徑下的指定類型文件的文件名及絕對路徑


給定一個文件夾的路徑,輸出該文件夾下所有的pdf(任意類型)文件的絕對路徑。
實在沒有想到騰訊面試會問這種程序題,措手不及。。。。
直接上代碼

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

public class ReadFile {
	public List<String> files1 = new ArrayList<String>();  // 存儲絕對路徑
	public List<String> files2 = new ArrayList<String>();  // 存儲名字
	/*
	 * explain:輸出指定文件夾下的某類型文件
	 * @param 文件路徑
	 * @param 文件類型
	 */
	public void getFiles(String path, String fileClass) {
	    File file = new File(path);
	    File[] tempList = file.listFiles();  // 獲取該路徑下所有的File對象
	    
	    for (int i = 0; i < tempList.length; i++) {
	        if (tempList[i].isFile()) {
	            System.out.println("文件:" + tempList[i]);
	            if(tempList[i].getName().endsWith(fileClass)) {
	            	files1.add(tempList[i].toString());  // 獲取絕對路徑
	            	files2.add(tempList[i].getName()); // 只獲取名字
	            }
	        }
	        if (tempList[i].isDirectory()) {  // 如果是文件夾,進行遞歸調用
                System.out.println("文件夾:" + tempList[i]);
                getFiles(tempList[i].toString(), fileClass);
	        }
	    }
	}
	public static void main(String[] args) {
		ReadFile test = new ReadFile();
		test.getFiles("D:\\研三", ".pdf");
		System.out.println(test.files1);
		System.out.println(test.files2);
	}
}

輸出結果示例

文件:D:\研三\MySQL必知必會.pdf
文件夾:D:\研三\數據庫教程
文件夾:D:\研三\數據庫教程\MySQL
文件:D:\研三\數據庫教程\MySQL\create.sql
文件:D:\研三\數據庫教程\MySQL\MySQL必知必會 高清晰中文書籤版.pdf
文件:D:\研三\數據庫教程\MySQL\populate.sql
文件:D:\研三\數據庫教程\深入淺出MyBatis技術原理與實戰.pdf
[D:\研三\MySQL必知必會.pdf, D:\研三\數據庫教程\MySQL\MySQL必知必會 高清晰中文書籤版.pdf, D:\研三\數據庫教程\深入淺出MyBatis技術原理與實戰.pdf]
[MySQL必知必會.pdf, MySQL必知必會 高清晰中文書籤版.pdf, 深入淺出MyBatis技術原理與實戰.pdf]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章