【发布时间】:2022-08-08 15:49:02
【问题描述】:
有没有办法在内部和外部存储中打印给定扩展名的所有文件 say(.pdf, .mobi, .epub)。
我对文件管理器不感兴趣。只想要所有文件及其路径。
任何包装建议表示赞赏。我尝试使用 file_manager 包。但它缺乏这个特定的功能。
标签: android flutter dart filesystems dart-pub
有没有办法在内部和外部存储中打印给定扩展名的所有文件 say(.pdf, .mobi, .epub)。
我对文件管理器不感兴趣。只想要所有文件及其路径。
任何包装建议表示赞赏。我尝试使用 file_manager 包。但它缺乏这个特定的功能。
标签: android flutter dart filesystems dart-pub
可以通过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('.');
【讨论】: