0

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

我已经从 SD 卡中获得了用于文件探索的批准代码:选择文件对话框
但我只想要 .mp3 扩展文件或 .mp3 扩展文件列表。

所以我该怎么做?

4

2 回答 2

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
    }
}
于 2013-03-26T10:26:58.440 回答
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());
        }
于 2013-03-26T10:31:41.890 回答