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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列出按创建时间排序的目录中的文件相关的知识,希望对你有一定的参考价值。

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

答案

在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()
})
另一答案
files, err := ioutil.ReadDir(path)
//TODO
sort.Slice(files, func(i,j int) bool{
    return files[i].ModTime().Unix() < files[j].ModTime().Unix()
})

以上是关于列出按创建时间排序的目录中的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何按创建日期对文件管理器数组进行排序

按文件类型对文件管理器数组进行排序

Shell:列出按文件计数排序的目录(包括在子目录中)

Linux ls命令

sh Bash:如何列出每个文件和目录的大小(递归)并按大小排序?

#yyds干货盘点#ls命令按时间排序