如何根据时间戳排序以下文件夹中的文件?
File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.java");
File[] files = dir.listFiles(fileFilter);
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
比如说:
如果我在一个文件夹里有下面显示的文件:
FILE NAME DATE CREATED/MODIFIED
properties.txt 10/08/2010 06:19
sublime.dll 10/08/2010 08:01
css_stlyle.css 10/08/2010 10:00
BMW_tags.php 10/08/2010 19:03
cars.properties 10/08/2010 04:37
3 个回答
0
因为你的例子是用Java写的,所以要使用一个 Comparator
。
File dir = new File(".");
File[] files = dir.listFiles();
Arrays.sort(files, new Comparator<File>() {
public int compare(File arg0, File arg1) {
return (arg0.lastModified() < arg1.lastModified())? -1 : 1;
}
});
for (int i = 0; i < files.length; i++) {
System.out.println(files[i] + " : " + files[i].lastModified());
}
0
在Python中,如果我理解你的意思没错的话:
import os
sorted( os.listdir( "." ), key = lambda file: os.stat( file )[ 8 ] )
1
这个C#的linq方法怎么样:
var query = Directory.GetFiles("D:\\", "*.txt", SearchOption.AllDirectories)
.Select(name => new FileInfo(name));
var orderedList = query.OrderBy(fileInfo => fileInfo.CreationTime).ToList();