如何在java中打开以特定前缀开头的所有文件?

2022-09-04 05:10:08

有没有办法在Java中打开目录中以特定名称开头的一些文本文件?

例如,在我的目录中,我有以下文件:

Ab-01.txt
Ab-02.txt
Ab-03.txt
Ab-04.txt
SomethingElse.txt
NotRelated.txt

所以现在在我的Java代码中,我只想打开那些以“”开头的文件。Ab-


答案 1

是的。使用 File.listFiles(FilenameFilter)

例如:

File dir = new File("/path/to/directory");
File[] foundFiles = dir.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.startsWith("Ab-");
    }
});

for (File file : foundFiles) {
    // Process file
}    

当然,将方法中的条件更改为所需的条件。所以也许.accept()name.startsWith("Ab-") && name.endsWith(".txt")


答案 2

http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listFiles(java.io.FilenameFilter)在父文件夹上使用此方法,并实现文件名过滤器,如下所示:

boolean accept(File dir, String name){
     return name.matches("AB-\n{2}.*")
}