java:遍历文件,根据文件的最后修改时间排序,并封装到List集合中.
程序员文章站
2022-05-24 12:31:36
...
package test01;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
// 定义list,用于文件的全路径
List<String> fileList = new ArrayList<>();
String filePath = "F:\\test02";
//返回F盘文件全路径的list集合
List<String> list = getFiles(filePath,fileList);
for (int i =0;i<list.size();i++){
System.out.println(i+"文件路径:"+list.get(i));
}
}
private static List<String> getFiles(String filePath, List<String> fileList) {
File dir = new File(filePath);
//这里可以做个判断是否存在这个文件夹再进行下面操作
if(!dir.exists()){
System.out.println("路径不存在!");
throw new RuntimeException();
}
//获取文件集合
File[] files = dir.listFiles();
//排序
Arrays.sort(files, new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return (int) (o1.lastModified()-o2.lastModified());
}
});
//判断是否是文件夹,如果是就进行递归,不是就添加进List集合.
//List集合特性是可以保证元素的添加顺序
for (File file1 : files) {
if(file1.isDirectory()){
getFiles(file1.getAbsolutePath(), fileList);
}else {
fileList.add(file1.getAbsolutePath());
}
}
return fileList;
}
}
上一篇: 使用AspectJ实现AOP
下一篇: spring之AspectJ实现AOP