簡體   English   中英

讀取Android文件系統中的所有文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM