java实现通配符匹配文件
时间: 2024-03-12 08:49:43 浏览: 88
wildcard:通配符模式匹配
Java实现通配符匹配文件可以使用Java IO包中的File类和FilenameFilter接口。FilenameFilter接口是一个回调接口,用于过滤文件名,只有符合条件的文件名才会被返回。
下面是一个通配符匹配文件的示例代码:
```java
import java.io.File;
import java.io.FilenameFilter;
public class WildcardFileFilter {
public static void main(String[] args) {
String folderPath = "/path/to/folder";
String pattern = "*.txt"; // 匹配所有以 .txt 结尾的文件
File folder = new File(folderPath);
File[] files = folder.listFiles(new WildcardFilter(pattern));
for (File file : files) {
System.out.println(file.getName());
}
}
static class WildcardFilter implements FilenameFilter {
private String pattern;
public WildcardFilter(String pattern) {
this.pattern = pattern;
}
@Override
public boolean accept(File dir, String name) {
return name.matches(pattern.replace("*", ".*"));
}
}
}
```
在上面的示例代码中,我们定义了一个WildcardFilter类实现了FilenameFilter接口,并重写了accept方法。accept方法中使用正则表达式将通配符字符串转换为正则表达式进行匹配。
使用示例代码中的方式,可以很方便的实现通配符匹配文件。
阅读全文