1:main函數list集合中的檔案名稱是按照修改的時間最近的排列在最前面
package cn.streamax.Auto.Utils;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
*按照時間順序讀取輸出檔案夾下的檔案名稱
* */
public class LastAddFile {
/**
* 調試方法
* @param args
*/
public static void main(String[] args) {
String path = "C:\\Users\\Administrator\\Downloads";
List<File> list = getFileSort(path);
for (File file : list) {
System.out.println(file.getName());
}
}
/**
* 擷取目錄下所有檔案(按時間排序)
*
* @param path
* @return
*/
public static List<File> getFileSort(String path) {
List<File> list = getFiles(path, new ArrayList<File>());
if (list != null && list.size() > 0) {
Collections.sort(list, new Comparator<File>() {
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 List<File> getFiles(String realpath, List<File> 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;
}
}