java遍历文件夹中的文件,如果是文件名后缀为.jpeg, 且文件名等于ABC,的,则把文件路径按顺序排序后放入list中
时间: 2024-09-22 11:06:04 浏览: 42
在Java中,可以使用`java.io.File`和`java.nio.file`包来遍历文件夹并筛选出符合条件的文件。下面是一个示例,展示了如何遍历特定目录下名为"ABC.jpeg"的所有文件,并将它们的路径添加到`ArrayList`中:
```java
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
public class FileTraversalExample {
public static void main(String[] args) {
String directoryPath = "path/to/directory"; // 替换为你实际的目录路径
ArrayList<String> filePaths = new ArrayList<>();
try {
File dir = new File(directoryPath);
if (dir.exists() && dir.isDirectory()) {
File[] files = dir.listFiles((dir1, name) -> name.endsWith(".jpeg") && name.equals("ABC"));
if (files != null) {
Collections.sort(filePaths, (a, b) -> a.compareTo(b)); // 按照文件路径排序
for (File file : files) {
filePaths.add(file.getAbsolutePath());
}
} else {
System.out.println("No matching files found.");
}
} else {
System.out.println("Directory not found or not a directory.");
}
} catch (Exception e) {
e.printStackTrace();
}
// 输出排序后的文件路径列表
for (String path : filePaths) {
System.out.println(path);
}
}
}
```
在这个例子中,`listFiles`方法接受一个谓词函数,该函数会检查文件名是否满足条件(以".jpeg"结尾且名称为"ABC")。如果找到文件,它们会被添加到`filePaths`列表中,并按文件路径进行排序。
阅读全文