如何在java中打开以特定前缀开头的所有文件?
有没有办法在Java中打开目录中以特定名称开头的一些文本文件?
例如,在我的目录中,我有以下文件:
Ab-01.txt
Ab-02.txt
Ab-03.txt
Ab-04.txt
SomethingElse.txt
NotRelated.txt
所以现在在我的Java代码中,我只想打开那些以“”开头的文件。Ab-
有没有办法在Java中打开目录中以特定名称开头的一些文本文件?
例如,在我的目录中,我有以下文件:
Ab-01.txt
Ab-02.txt
Ab-03.txt
Ab-04.txt
SomethingElse.txt
NotRelated.txt
所以现在在我的Java代码中,我只想打开那些以“”开头的文件。Ab-
是的。使用 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")
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}.*") }