2016-04-08 49 views
0

我已經創建了一個ArrayList掃描.MP3從外部存儲器中的文件的幫助:如何獲得特定文件夾environment.getexternalstoragedirectory()

final ArrayList<File> myplaylist0 = findSongs0(Environment.getExternalStorageDirectory()); 

功能findsongs0如下圖所示:

public ArrayList<File> findSongs0(File root){ 
    ArrayList<File> al=new ArrayList<File>(); 
    File[] files = root.listFiles(); 
    for(File singleFile : files){ 
     if(singleFile.isDirectory() && !singleFile.isHidden()){ 
      al.addAll(findSongs(singleFile)); 
     } 
     else 
     { 
      if(singleFile.getName().endsWith(".mp3") || singleFile.getName().endsWith(".wav")){ 
       al.add(singleFile); 

      } 
     } 
    } 
    return al; 
} 

上面的代碼給出了我手機存儲中所有.mp3文件的列表。

現在,我的問題是,如何從特定文件夾掃描mp3文件而不是整個存儲。我應該修改上面的代碼?

+0

通作爲參數'Environment.getExternalStorageDirectory()+ 「/」 + 「」' –

+0

@Radix它不工作。 ...給出一個錯誤:findsongs0(java.io.File)不能應用於(java.lang.String) –

+0

因爲該行有效地返回一個路徑。由於你的參數需要一個文件,你應該傳遞'新的文件(Environment.getExternalStorageDirectory()+「/」+「」)' –

回答

1

你的參數應該是像

new File(Environment.getExternalStorageDirectory()+"/"+"<your_mp3_folder>") 

File myfile=new File(Environment.getExternalStorageDirectory()+"/"+"<your_mp3_folder>") 
final ArrayList<File> myplaylist0 = findSongs0(myfile); 
相關問題