如何根据时间戳排序以下文件夹中的文件?

0 投票
3 回答
1121 浏览
提问于 2025-04-16 02:34
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();

撰写回答