如何获取android设备^s内存中所有文件的列表?

问题描述

我知道不仅在 stackoverflow 中有许多相同或相似的主题,而且在互联网世界的其他来源中也有很多相同或相似的主题。他们都没有帮助我,所以我需要问我的具体情况。事实上,一开始我认为这并不是特别必要,因为其他开发人员在 android 世界中编程时必须以某种方式需要它,但现在认为它不是。这对我来说确实是一个很大的挑战。 :)

我可以毫无问题地使用 File 对象创建、写入、读取、检查文件是否存在。它们在我的代码中的示例副本如下,效果很好。

public static boolean fileExist(Context mContext,String fileName){
    File file = new File(mContext.getFilesDir() + fileName);
    return file.exist;
}

故事从那以后开始。我在我的应用程序运行时创建了许多带有 txt 扩展名的文件。这些是临时文件。所以我决定添加一个方法,该方法将在 main_activity 的第一行调用,以便清理所有 txt 文件以重新开始。 (顺便说一下,我使用的是带有 Java 的 Android Studio)。

我写了一个方法如下:

public static void deleteWithExtension(Context mContext,String extension){
    File dir = new File(mContext.getFilesDir() + extension);
        final String[] theFiles = dir.list();
        for (final String file : theFiles) {
            //do something here....
            //The code never goes to here,because theFiles Array is always null
        }
    }

您可能已经猜到了,它不起作用。我使用 Android Studio 的调试选项进行了检查,说 TheFiles[] 数组为空。所以代码永远不会进入 for 循环。

我在互联网资源中看到了许多类似的问题。其中一些是关于设备外部存储器的,或者是关于使用不同的方式,但都没有奏效。

如果您能给我一个代码来实现我的目的,我将不胜感激。先感谢您。我熟悉PC端的其他语言,我很惊讶这么简单的过程让我很头疼......

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)