在我的应用程序中,当用户想要上传音频时,该用户应该只能选择 .mp3 扩展文件。如果用户选择任何其他文件,如 .ppt、.pdf,则不允许。
我已经从 SD 卡中获得了用于文件探索的批准代码:选择文件对话框。
但我只想要 .mp3 扩展文件或 .mp3 扩展文件列表。
所以我该怎么做?
在我的应用程序中,当用户想要上传音频时,该用户应该只能选择 .mp3 扩展文件。如果用户选择任何其他文件,如 .ppt、.pdf,则不允许。
我已经从 SD 卡中获得了用于文件探索的批准代码:选择文件对话框。
但我只想要 .mp3 扩展文件或 .mp3 扩展文件列表。
所以我该怎么做?
也许你可以检查这样的文件
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
}
}
检查文件模式然后比较,如果是 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());
}