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

H.R*_*.R. 2 dart dart-io

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

在此处输入图片说明

这是为什么?

mat*_*rey 5

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

来自另一个帖子

在 FAT 文件系统上,任何给定目录中的条目都是未排序的,导致树遍历未排序。相比之下,NTFS 目录总是排序的

不过,您始终可以对输出进行排序:

var files = directory.listSync()..sort((a, b) => a.path.compareTo(b.path));
Run Code Online (Sandbox Code Playgroud)