2017-10-14 13 views
1

ioutil.ReadDir()を使用してディレクトリ内のファイルを一覧表示する方法を知っていますが、作成時間(古いものから最新のもの)で並べ替えるにはどうすればよいですか?私はgo 8.3を使用しています。ディレクトリ内のファイルを作成時間で並べ替え

+0

あなたはどのようなファイルシステムを使用していますか? – akond

+0

Ext4 on Fedora Linux – j3d

答えて

2

Linuxでは実行できません.Goはこれと関係がありません(作成時間はほとんどのLinuxファイルシステムには格納されません)。 Windowsでは標準のライブラリを使用することはできますが、使用することはできません。さて、(os.FileInfo).Sys()によって返された値では可能かもしれませんが、ライブラリを探す方が良いでしょう。最後によってソート

時間を変更し、かなり簡単です:

files, err := ioutil.ReadDir(path) 
// TODO: handle the error! 
sort.Slice(files, func(i,j int) bool{ 
    return files[i].ModTime() < files[j].ModTime() 
}) 
+0

OPはEXT4を使用しているので、間違っているhttps://dzone.com/articles/ext4-crtime-creation-time – Zhigalin

+0

真ですが、2つのことに注意してください:OPのファイルシステムを指定しているコメントは、この答えと* Go標準ライブラリ*はこれをサポートしていないので、あなたはまだ何かを一緒にハックする必要があります。 –

関連する問題