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

问题描述 投票:2回答:2

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

go
2个回答
6
投票

在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().Unix() < files[j].ModTime().Unix()
})

1
投票
files, err := ioutil.ReadDir(path)
//TODO
sort.Slice(files, func(i,j int) bool{
    return files[i].ModTime().Unix() < files[j].ModTime().Unix()
})
© www.soinside.com 2019 - 2024. All rights reserved.