正则表达式替换Java轮询路径中的文件夹名称

时间:2019-07-10 18:20:21

标签: java regex file

我有一个相对路径来获取该文件夹中列出的文件:

文件夹名称: ReadFiles

我只是使用File pollFile = new File("ReadFiles")来读取该文件夹中的所有文件。

现在,该文件夹变为“ ReadFiles / 201907101418” ,并且文件夹名称和日期范围一直在变化。

有什么方法可以使用正则表达式替换该日期特定的文件夹并让所有文件在其下监听?

1 个答案:

答案 0 :(得分:0)

您可以使用FileFilter来检查与模式匹配的子文件夹的名称:

package be.test;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

public class FileTest {

    public static void main(String[] args) throws IOException {
        File f=new File("ReadFiles");
        File[] datefolders=f.listFiles(new FileFilter() {

            @Override
            public boolean accept(File pathname) {
                return pathname.isDirectory() && pathname.getName().matches("20\\d{10}");
            }
        });
        for (File subf:datefolders)
        {
            File[] myfiles=subf.listFiles();
            for (File myfile:myfiles)
            {
                System.out.println("Found file: "+myfile.getAbsolutePath());
                // do your stuff with the files in myfile;
            }
        }
    }
}