java 文件排序算法(文件大小、文件名称、文件创建日期)

来源:互联网 发布:52所 杭州知乎 编辑:程序博客网 时间:2024/06/05 09:32

java文件大小、名称、日期排序方法

//按照文件大小排序
public static void orderByLength(String fliePath) {List<File> files = Arrays.asList(new File(fliePath).listFiles());Collections.sort(files, new Comparator<File>() {public int compare(File f1, File f2) {long diff = f1.length() - f2.length();if (diff > 0)return 1;else if (diff == 0)return 0;elsereturn -1;}public boolean equals(Object obj) {return true;}});for (File f : files) {System.out.println(f.length());}}
//按照文件名称排序
public static void orderByName(String fliePath) {List<File> files = Arrays.asList(new File(fliePath).listFiles());Collections.sort(files, new Comparator<File>() {@Overridepublic int compare(File o1, File o2) {if (o1.isDirectory() && o2.isFile())return -1;if (o1.isFile() && o2.isDirectory())return 1;return o1.getName().compareTo(o2.getName());}});for (File f : files) {System.out.println(f.getName());}}
//按照文件日期排序
public static void orderByDate(String fliePath) {File file = new File(fliePath);File[] fs = file.listFiles();Arrays.sort(fs,new Comparator<File>(){public int compare(File f1, File f2) {long diff = f1.lastModified() - f2.lastModified();if (diff > 0)return 1;else if (diff == 0)return 0;elsereturn -1;}public boolean equals(Object obj) {return true;}});for (int i = fs.length-1; i >-1; i--) {System.out.println(fs[i].getName());System.out.println(new Date(fs[i].lastModified()).toLocaleString());}}


 

 

原创粉丝点击