如何从整个SD卡中仅选择.mp3扩展名文件

时间:2013-03-26 10:18:23

标签: android android-dialog android-file

在我的应用程序中,当用户想要上传音频时,该用户应该只能选择.mp3扩展名文件。如果用户选择任何其他文件,如.ppt,.pdf,则不允许。

我从SD卡获得了经过批准的文件浏览代码:Choose file dialog 但我只想要.mp3扩展名文件或.mp3扩展名文件列表。

那我该怎么办?

2 个答案:

答案 0 :(得分:1)

也许你可以检查这样的文件

File f = new File("/sdcard/"); 
for (File file : f.listFiles()) 
{
    if(file.getName().endsWith(".mp3"))
    {
        // do something with them, add them to list or whatever
    }
}

答案 1 :(得分:1)

检查文件模式然后进行比较,如果是mp3然后添加到arraylist,请检查下面的函数,它将返回mp3的列表。

  Vector<String> mStrings =new Vector<String>();
 int mTotalimage=0;
public void fileExtension(File dir) {
       String mp3Pattern = ".mp3";


       File listFile[] = dir.listFiles();
            if (listFile != null) {
                for (int i = 0; i < listFile.length; i++) {
                    String mCheck=listFile[i].getAbsoluteFile().toString();
                    mCheck=mCheck.substring(mCheck.lastIndexOf("/")+1);
    System.out.println("listFile[i].getAbsoluteFile().toString()"+listFile[i].getAbsoluteFile().toString());
    System.out.println("mCheck..."+mCheck);
                    if (listFile[i].isDirectory() && !(mCheck.startsWith(".")) ) {
                        fileExtension(listFile[i]);
                    } else {

                      //fetch jpg from folders.
                      if (listFile[i].getName().endsWith(mp3Pattern)){
                          mStrings.add(listFile[i].getAbsolutePath().toString());
                          mTotalimage++;
                         //fetch png image from folders.
                        }
                    }
                }
            }
            System.out.println("size on return......."+mStrings.size());
        }