有没有办法用颤振返回像'/storage/emulated/0/Document/(pdf文件列表)'这样的文件路径?

Posted

技术标签:

【中文标题】有没有办法用颤振返回像\'/storage/emulated/0/Document/(pdf文件列表)\'这样的文件路径?【英文标题】:Is there any way to return file path like '/storage/emulated/0/Document/(list of pdf file)' with flutter?有没有办法用颤振返回像'/storage/emulated/0/Document/(pdf文件列表)'这样的文件路径? 【发布时间】:2022-01-17 12:44:39 【问题描述】:

我想从手机本地存储访问 pdf 文件列表并在屏幕上显示 pdf 缩略图。所以我决定使用ExternalPath.getExternalStoragePublicDirectory(ExternalPath.DIRECTORY_DOCUMENTS) 使用https://pub.dev/packages/external_path 包访问文件路径('/storage/emulated/0/Document/(pdf 文件列表)'),并使用ListView.builder 在屏幕上显示所有 pdf 文件。但问题是它只返回一个字符串,如 '/storage/emulated/0/Document' 缺少 '.pdf' 文件。我该怎么做?请帮我。在这个问题上卡住了 1 周。

【问题讨论】:

【参考方案1】:

getExternalStoragePublicDirectory 和 ExternalPath.DIRECTORY_DOCUMENTS 是 Documents 目录的返回文件。您可以从该目录文件中获取子列表。在这里您必须检查文件的扩展名,并且目录文件可能在 Documents 目录中可用,您可以在 File 对象上使用 isDirectory() 进行检查。您也可以忽略或获取该目录中的检查文件。

看看我为自己使用的java代码示例:

public void findFilesWithExtension(File sourceDir, String extension, List<File> resultFilesList, boolean checkInternalDir)
    
        List<File> childFiles = Arrays.asList(sourceDir.listFiles());
        for (File child : childFiles)
        
            if (child.isDirectory())
            
                if (checkInternalDir)
                    findFilesWithExtension(child, extension, resultFilesList, checkInternalDir);
            
            else if (child.getName().endsWith(extension))
            
                resultFilesList.add(child);
            
        
    

【讨论】:

以上是关于有没有办法用颤振返回像'/storage/emulated/0/Document/(pdf文件列表)'这样的文件路径?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法用 vscode 自动格式化颤振?

Unity Android路径及注意事项

颤振真棒通知

构造函数具有大量参数的颤振组合

颤振中的透明状态栏

有没有办法使用 mediapipe 在颤振中实现手势检测?