为什么 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));
当我在 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));