使用Java语言列出指定目录下包含某一指定字符串的所有文件名。例如,包含某个字符串,某个前缀;可以使用单独定义过滤类,也可以使用匿名类或Lambda表达式实现。
时间: 2023-06-06 21:05:45 浏览: 146
可以使用Java的File类和FilenameFilter接口来实现这个功能,具体代码如下:
```java
import java.io.File;
import java.io.FilenameFilter;
public class FilterFilesByName {
public static void main(String[] args) {
File dir = new File("指定目录路径");
String filterStr = "指定字符串";
File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.contains(filterStr); //匹配文件名中包含指定字符串的文件
}
});
for (File file : files) {
System.out.println(file.getName()); //输出符合条件的文件名
}
}
}
```
其中,指定目录路径和指定字符串需要根据实际情况进行修改。该程序使用了匿名类实现FilenameFilter接口来过滤文件名。可以将匿名类替换为Lambda表达式,代码如下:
```java
File[] files = dir.listFiles((d, name) -> name.contains(filterStr));
```
阅读全文