是否有一种方法可以在内部和外部存储中打印给定扩展名(.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('.');