繁体   English   中英

Java 通配符搜索目录

[英]Java Wild card to search for directory

我需要搜索一个针对不同环境而变化的文件夹。 尽管文件名保持不变,但文件夹名称已更改。

在下面的屏幕截图中,环境的分支名称发生了变化; 配置和日志文件保持不变。

在此处输入图像描述

我想使用通配符在分支名称文件夹中搜索配置。 我使用了以下内容,但这似乎不起作用并返回一条错误消息,指出找不到路径。

String LOCAL_DIR = "*/config/";

当名称在各种环境中更改时,应该怎么做才能搜索分支名称文件夹而不传递它?

提前致谢。

如果您可以使用库,我们可以在根文件夹中进行递归搜索,您可以提及并通过搜索具有.log 作为扩展名的文件来实现此目的

Maven:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.9.0</version>
</dependency>

示例代码:

import java.io.File;
import java.util.Collection;

import org.apache.commons.io.FileUtils;

public class Test {

    public static void main(String[] args) {
        
        //mention the file suffix
        String[] SUFFIX = {"log"};
        
        //mention your root directory here to do a recursive search
        String root_dir = "C:\\work";
        
        Collection<File> files = FileUtils.listFiles(new File(root_dir), SUFFIX, true);
        
        for(File file: files) {
            if(file.getAbsolutePath().contains("/config/") //this will be good for unix/linux
                        || file.getAbsolutePath().contains("\\config\\") //this will be good for windows
                    ) {
                //this is your required file meeting all the criteria
                System.out.println(file.getAbsolutePath());
            }
        }
        
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM