Je sais comment lister les fichiers dans un répertoire en utilisant ioutil.ReadDir()
... mais comment les trier par heure de création (du plus ancien au plus récent)? J'utilise go 8.3
.Liste des fichiers dans un répertoire trié par heure de création
Répondre
Sur Linux vous ne pouvez pas, et Go n'a rien à voir avec cela (le temps de création n'est simplement pas stocké dans la plupart des systèmes de fichiers Linux). Sur Windows vous pouvez, mais pas avec la bibliothèque standard aller. Eh bien, il peut être possible avec la valeur retournée par (os.FileInfo).Sys()
, mais vous seriez mieux servi pour chercher une bibliothèque.
Tri par la dernière modifié temps est assez facile:
files, err := ioutil.ReadDir(path)
// TODO: handle the error!
sort.Slice(files, func(i,j int) bool{
return files[i].ModTime() < files[j].ModTime()
})
L'OP utilise EXT4 donc vous avez tort https://dzone.com/articles/ext4-crtime-creation-time – Zhigalin
Vrai, mais notez deux choses: Le commentaire spécifiant le système de fichiers de l'OP est plus récent que Cette réponse, et la * Go bibliothèque standard * ne supporte pas cela, donc vous auriez toujours besoin de pirater quelque chose ensemble. –
Qu'est-ce que le système de fichiers utilisez-vous? – akond
Ext4 sur Fedora Linux – j3d