为什么 dart 的 listSync() 在 Windows 和 Ubuntu 上表现不同?

Why does dart's listSync() behave differently on Windows and Ubuntu?

当我在 Windows 中使用 listSync 函数遍历目录时,条目被排序但是当我 运行 在 Ubuntu 中使用相同的代码时,它们不是:

这是为什么?

这(可能)是由于 Windows FS 的(非)保证。

来自another post

On a FAT filesystem, the entries in any given directory are unsorted, causing the tree-walk to be unsorted. NTFS directories, by contrast, are always sorted

尽管您始终可以对输出进行排序:

var files = directory.listSync()..sort((a, b) => a.path.compareTo(b.path));