listDirectories function
Future<List<Directory> >
listDirectories(
- Directory path, {
- dynamic excludeHidden = false,
- dynamic followLinks = false,
- FlutterFileUtilsSorting? sortedBy,
- bool reversed = false,
Return a List of directories starting from the given path
hidden
:true
orfalse
return hidden directory, like: "/storage/.thumbnails"true
will return hidden directories- sortedBy:
Sorting
- bool reversed: in case parameter sortedBy is used
Implementation
Future<List<Directory>> listDirectories(Directory path,
{excludeHidden: false,
followLinks = false,
FlutterFileUtilsSorting? sortedBy,
bool reversed: false}) async {
List<Directory> directories = [];
try {
List contents = path.listSync(followLinks: followLinks, recursive: false);
if (excludeHidden == true) {
for (var fileOrDir in contents) {
if (fileOrDir is Directory) {
if (!fileOrDir.path.startsWith("."))
directories
.add(Directory(pathlib.normalize(fileOrDir.absolute.path)));
}
}
} else {
for (var fileOrDir in contents) {
if (fileOrDir is Directory) {
// dir/../dir3 to dir/dir2/dir3
directories
.add(Directory(pathlib.normalize(fileOrDir.absolute.path)));
}
}
}
} catch (error) {
throw FileManagerError(permissionMessage + error.toString());
}
if (directories != null) {
return sortBy(directories, sortedBy) as FutureOr<List<Directory>>;
}
return directories;
}