/**
* @param args
*/
public static void main(String[] args) {
String path = "d:\\test";
Listlist = getFileSort(path);
for (File file : list) {
System.out.println(file.getName() + " : " + file.lastModified());
}
}
/**
* 获取目录下所有文件(按时间排序)
*
* @param path
* @return
*/
public static ListgetFileSort(String path) {
Listlist = getFiles(path, new ArrayList ());
if (list != null && list.size() > 0) {
Collections.sort(list, new Comparator() {
public int compare(File file, File newFile) {
if (file.lastModified() < newFile.lastModified()) {
return 1;
} else if (file.lastModified() == newFile.lastModified()) {
return 0;
} else {
return -1;
}
}
});
}
return list;
}
/**
*
* 获取目录下所有文件
*
* @param realpath
* @param files
* @return
*/
public static ListgetFiles(String realpath, List files) {
File realFile = new File(realpath);
if (realFile.isDirectory()) {
File[] subfiles = realFile.listFiles();
for (File file : subfiles) {
if (file.isDirectory()) {
getFiles(file.getAbsolutePath(), files);
} else {
files.add(file);
}
}
}
return files;
}
我的暂时的解决办法 把文件夹下的文件按照时间排序即可。
终极解决办法 首先获取文件的最后修改时间 long modify = f.lastModified(); // 修改时间
然后按照修改时间进行排序显示即可。
先按时间排序