【问题标题】:Query and list all the files of a given extension on the phones internal and external storage in Flutter?在 Flutter 中查询并列出手机内部和外部存储中给定扩展名的所有文件?
【发布时间】:2022-08-08 15:49:02
【问题描述】:

有没有办法在内部和外部存储中打印给定扩展名的所有文件 say(.pdf, .mobi, .epub)。

我对文件管理器不感兴趣。只想要所有文件及其路径。

任何包装建议表示赞赏。我尝试使用 file_manager 包。但它缺乏这个特定的功能。

    标签: android flutter dart filesystems dart-pub


    【解决方案1】:

    可以通过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('.');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-30
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 2015-07-08
      相关资源
      最近更新 更多