列出指定目录下包含某一指定字符串的所有文件名。例如,包含某个字符串,某个前缀;可以使用单独定义过滤类,也可以使用匿名类或Lambda表达式实现。
时间: 2023-06-03 10:06:57 浏览: 63
可以使用以下代码来列出指定目录下包含某一指定字符串的所有文件名:
```java
import java.io.File;
import java.io.FilenameFilter;
public class ListFilesWithFilter {
public static void main(String[] args) {
String directory = "path/to/directory";
String searchString = "searchString";
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.contains(searchString); // 包含指定字符串
// 或者使用下面的语句进行前缀匹配
// return name.startsWith(searchString); // 包含指定前缀
}
};
File dir = new File(directory);
String[] files = dir.list(filter);
for (String file : files) {
System.out.println(file);
}
}
}
```
其中,directory 是指定的目录路径,searchString 是指定的字符串。如果要进行前缀匹配,将 accept 方法中的 contains 改为 startsWith 即可。使用匿名类或 Lambda 表达式实现也类似,可以根据具体情况自行实现。