Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何访问SD卡并返回和排列特定格式的文件?_Android - Fatal编程技术网

Android 如何访问SD卡并返回和排列特定格式的文件?

Android 如何访问SD卡并返回和排列特定格式的文件?,android,Android,我需要访问SD卡并返回一些不同格式的文件。位置将由用户输入。如何以编程方式执行此操作?Simondid, 我相信这就是你要找的 访问SD卡: 请记住检查媒体可用性: 创建文件筛选器: mp3文件过滤器示例,创建以下过滤器类: import java.io.*; /** * A class that implements the Java FileFilter interface. * It will filter and grab only mp3 */ public class

我需要访问SD卡并返回一些不同格式的文件。位置将由用户输入。如何以编程方式执行此操作?

Simondid, 我相信这就是你要找的

访问SD卡:

请记住检查媒体可用性:

创建文件筛选器:

mp3文件过滤器示例,创建以下过滤器类:

import java.io.*;

/**
 * A class that implements the Java FileFilter interface.
 * It will filter and grab only mp3
 */
public class Mp3FileFilter implements FileFilter
{
  private final String[] okFileExtensions = 
    new String[] {"mp3"};

  public boolean accept(File file)
  {
    for (String extension : okFileExtensions)
    {
      if (file.getName().toLowerCase().endsWith(extension))
      {
        return true;
      }
    }
    return false;
  }
}
File sdcard = Environment.getExternalStorageDirectory();
File dir = new File(sdcard, "path/to/the/directory/with/mp3");

//THIS IS YOUR LIST OF MP3's
File[] mp3List = dir.listFiles(new Mp3FileFilter());
然后根据前面访问SD卡的帖子,您可以使用如下过滤器:

import java.io.*;

/**
 * A class that implements the Java FileFilter interface.
 * It will filter and grab only mp3
 */
public class Mp3FileFilter implements FileFilter
{
  private final String[] okFileExtensions = 
    new String[] {"mp3"};

  public boolean accept(File file)
  {
    for (String extension : okFileExtensions)
    {
      if (file.getName().toLowerCase().endsWith(extension))
      {
        return true;
      }
    }
    return false;
  }
}
File sdcard = Environment.getExternalStorageDirectory();
File dir = new File(sdcard, "path/to/the/directory/with/mp3");

//THIS IS YOUR LIST OF MP3's
File[] mp3List = dir.listFiles(new Mp3FileFilter());

注意:代码很粗糙您可能想确保SD卡如上所述可用于awsome Answare,但我很难让过滤器正常工作,我需要它测试媒体/音乐文件,现在只测试mp3请帮助我需要过滤器返回给定文件夹中的所有mp3文件Simon,您可以使用
String.contains(“.mp3”)在给定目录/file.pheonixblade ty的文件路径上,但我解决了这个问题,这就是为什么FileFilter filterDirectoriesOnly=new FileFilter(){public boolean accept(file file file){return file.getName().endsWith(“mp3”);};Log.i(“状态”、“过滤器don”);File[]sdDirectories=yourFile.listFiles(仅限FilterDirectories);