查询和列出一个给定的扩展在手机内部和外部存储的所有文件?



是否有一种方法可以在内部和外部存储中打印给定扩展名(.pdf, .mobi, .epub)的所有文件?

我对文件管理器不感兴趣。只需要所有的文件和它们的路径。

任何包的建议是赞赏的。我尝试使用file_manager包。但是它缺少这个特殊的功能。

可以通过rootDirectory.list(recursive: true)查询所有文件,并查看文件的mimeType。mimeType可以更改为图像,视频,音频,文本。您需要mime_type包。

List<FileSystemEntity> contentFiles = [];
String mimeType = 'image'
void queryResult() async {
final rootDir = Directory('root directory path here');
Stream<FileSystemEntity> _stream = rootDir.list(recursive: true);
_stream.listen((event) {
if (event is File &&
!isHidden(event.path) &&
validType(event.path)) {
contents.add(event);
}
});
}
bool validType(String path) => mime(path).contains(mimeType);
bool isHidden(String filePath) => path.basename(filePath).startsWith('.');

相关内容

最新更新