繁体   English   中英

如何从SD卡上的目录中获取文件列表(仅与声音相关的.flac,.m4b,.mp3)和文件夹?

[英]How can i get a list of files(only sound related .flac, .m4b, .mp3) and folders with them from a directory on the sd card?

public static File[] filenames;
public static ArrayList<String> shortFilenames;
public static String MyDirectory = "/AudioSamples";


public static ArrayList<String> getFileNames() {
    File sdCardRoot = new File(Environment.getExternalStorageDirectory() + MyDirectory);

        filenames = sdCardRoot.listFiles();
        shortFilenames = new ArrayList<String>();
        for (File tmpf : filenames) {

                String name = tmpf.getName();
                shortFilenames.add(name);

        }
    return shortFilenames;
}

我只需要从SD卡上的目录中获取音乐文件(如m4b,mp3)和带有音乐/声音的文件夹的名称,我该怎么办? 我的代码包含所有内容,因此我需要某种过滤器:)

static Uri[] mUris;
static String[] mFiles = null;
public static String[] getMusic(){

    File music = Environment.getExternalStorageDirectory();

    // File asd = Environment.

    // String[] savedFiles = getApplicationContext().fileList();

    File[] musicList = music.listFiles(new FilenameFilter() {

        @Override
        public boolean accept(File dir, String name) {
            // TODO Auto-generated method stub
            return ((name.endsWith(".mp3")||(name.endsWith(".m4b")||(name.endsWith(".flac"))));
        }
    });

    mFiles = new String[musicList.length];
    for(int i=0; i<musicList.length;i++) {
        mFiles[i]=musicList[i].getAbsolutePath();
    }

    return mFiles;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM