[英]Reading all files in the Android file system
我正在編寫一個 Android mediaPlayer 應用程序,所以我想掃描整個手機上的所有文件(即 sdcard 和手機內存)。 我可以從 sdcard 讀取,但不能讀取它的根。 也就是說,我可以從路徑/sdcard/[folder]/
讀取,它工作正常,但如果我 go 到/sdcard/
應用程序崩潰。 如何訪問 sdcard 上的所有文件以及手機本身的文件?
永遠不要使用 /sdcard/ 路徑。 不能保證一直工作。
使用以下代碼獲取 sdcard 目錄的路徑。
File root = Environment.getExternalStorageDirectory();
String rootPath= root.getPath();
從 rootPath 位置,您可以構建 SD 卡上任何文件的路徑。 例如,如果 /DCIM/Camera/a.jpg 中有圖像,則絕對路徑將是 rootPath + "/DCIM/Camera/a.jpg"。
但是,要列出 SDCard 中的所有文件,您可以使用以下代碼
String listOfFileNames[] = root.list(YOUR_FILTER);
listOfFileNames 將包含 SD 卡中存在的所有文件的名稱,並通過過濾器設置的標准。
假設您只想列出 mp3 文件,然后將以下過濾器 class 名稱傳遞給 list() function。
FilenameFilter mp3Filter = new FilenameFilter() {
File f;
public boolean accept(File dir, String name) {
if(name.endsWith(".mp3")){
return true;
}
f = new File(dir.getAbsolutePath()+"/"+name);
return f.isDirectory();
}
};
沙什
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.