欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 输出某路径下的指定类型文件的文件名及绝对路径

程序员文章站 2022-05-10 09:09:36
...

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]