如何搜索特定类型的所有文件并列出它们?

时间:2013-09-27 18:07:21

标签: android android-file

嗯,我一直是Android开发的新手,从那以后没有任何事情如此有趣! 但我只是不明白有些地方你不能帮忙!!
好吧,我在实现一次调用的搜索方法时遇到困难,它会列出存储内部(sdcard)中存在的特定类型的所有文件以及外部(ext_card)。
我如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

您需要做几件事。

为了根据类型(或扩展名)过滤文件,您可以像这样使用FilenameFilter:

public static final FilenameFilter FILENAME_FILTER = new FilenameFilter()
{
    @Override
    public boolean accept(File dir, String filename)
    {
        return filename.endsWith(FILE_EXTENSION);
    }
};

作为一个应用程序,您无法访问内部存储,只能访问外部存储(无论是否在SD卡上,它仍然被称为相同的东西。这可以使用

引用
Environment.getExternalStorageDirectory().getAbsolutePath()

另外,请确保您在清单文件中拥有正确的权限。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

答案 1 :(得分:0)

澄清:

  1. 您始终可以访问应用程序自己的内部存储空间,但无法搜索其他应用程序的内部存储空间。
  2. 在现代设备中,内部和外部存储的位置并不总是与SD卡的存在有关。内部存储始终在设备的内部存储器中实现。外部存储可以在SD卡上实现,但是现在许多设备在与内部存储器相同的内部存储器硬件中实现它。但是,系统将内部和外部存储分开。如果设备在内部存储器 SD卡中具有内部和外部存储,则该卡完全独立,仅存储媒体文件。
  3. 虽然您应该使用android.permission.READ_EXTERNAL_STORAGE,但请注意它尚未执行。对于读取此主题并反对READ_EXTERNAL_STORAGE是“必要”的想法的人来说,这主要是一个注释。