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]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值