提问者:小点点

如何在Flutter中列出文件?


import 'dart:io';
Directory dir = Directory('/storage/emulated/0');
List<FileSystemEntity> file = dir.listSync();

我曾使用该代码列出只列出目录文件。我如何获得该目录中的文件列表?以及如何查找文件/文件夹的权限?


共1个答案

匿名用户

listSync方法同时列出目录和文件。如果只需要文件,可以筛选输出:

dir.listSync().where((e) => e is File);

如果需要在子目录中递归列出文件,可以使用recursive参数调用:

dir.listSync(recursive: true).where((e) => e is File);

以及如何查找文件/文件夹的权限?

dir.listSync().forEach((e) {
  final mode = e.statSync().mode;
});

mode包含文件系统对象的模式。

权限被编码在这个数字的低16位,并且可以使用modeString getter进行解码。