列出按创建时间排序的目录中的文件

j3d*_*j3d 2 go

我知道如何使用ioutil.ReadDir()... 列出目录中的文件但是如何按创建时间(从最旧到最新)对它们进行排序?我正在使用go 8.3.

Mil*_*sen 7

在Linux上你不能和Go无关(创建时间根本没有存储在大多数Linux文件系统中).在Windows上,您可以,但不能使用go标准库.好吧,它可能有返回的值(os.FileInfo).Sys(),但你最好找一个库.

上次修改时间排序相当简单:

files, err := ioutil.ReadDir(path)
// TODO: handle the error!
sort.Slice(files, func(i,j int) bool{
    return files[i].ModTime().Before(files[j].ModTime())
})
Run Code Online (Sandbox Code Playgroud)

  • 是的,但请注意两点:指定OP的文件系统的注释比此答案要新,并且* Go标准库*不支持此注释,因此您仍然需要一起破解一些东西。 (2认同)