【Java】定位目录及深层目录的指定格式文件(查找路径文件夹下的文件)

【学习分享】定位目录及深层目录的指定格式文件(查找路径下文件)

定位目录文件夹下的压缩包

首先,引入的方法包

import java.io.File

其次,用到的方法

// 1
File fileArr[] = zipFile.listFiles();	//获取目录文件夹内所有File
// 2
fileArr[i].isDirectory();	//判断目录内的File是否为文件件
// 3
fileArr[i].getName().contains("zip");	//获得文件名,并判断文件名中是否含有"zip"字符串

然后,整理一下思路

1. 参数:String filePath //探索的根目录。

2. 方法listFiles(),获得一级根目录下的所有文件或文件夹,放到数组里。

3. [for循环] 遍历整个数组。

4. [for循环体]中用isDirectory()方法进行[if判断]。

6. isDirectory()
	a. true (File为目录文件夹),fileArr[i].getName() 拼接新的路径,递归进入深层路径进行再次探索目标zip文件
	b. flase (File为文件),fileArr[i].getName().contains("zip") 判断文件名称是否包含"zip"字符串。拼接路径。
	
7. 返回值:返回定位到的zip文件路径。

最后,代码实现

	/**
     * 查找zip包
     * @param filePath
     * @return
     */
    public String findZipFile(String filePath){
        String path = "";
        File zipFile = new File(filePath);
        File fileArr[] = zipFile.listFiles();//获取文件夹内所有文件

        for (int i = 0; i < fileArr.length; i++) {//循环遍历
            File fs = fileArr[i];//获取数组中的第i个
            if (fs.isDirectory()) {//是否为目录文件夹
                String fPath = filePath + File.separator + fs.getName();
                //递归查找zip包
                path = findZipFile(fPath);
            } else {
                if (fs.getName().contains("zip")){//找到zip压缩包
                    path = filePath + File.separator+fs.getName();
                }
            }
        }
        System.out.println("++++++++++压缩包文件路径:"+path+"+++++++++++++++");
        return path;
    }

输出结果:

++++++++++压缩包文件路径:D:\Test.zip+++++++++++++++

欢迎学习交流!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值