簡體   English   中英

如何在Android的下載目錄中獲取每個文件的完整路徑和名稱

[英]How to get complete path and name of each file in Download directory in Android

我將開發一個應用程序,用戶可以從下載目錄中選擇文件。 現在,我需要用戶選擇的文件的路徑+名稱。

DownloadManager dm = (DownlaodManager) getSystemService(DOWNLOAD_SERVICE);

這樣,用戶可以選擇文件。 現在,我需要選擇文件的絕對路徑。 但是這里的問題是,如果用戶選擇一個文件,則該文件將處於打開狀態(這不應該發生)

你們中有人可以幫我嗎?

使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 訪問該文件夾,並使用File.listFiles()訪問該目錄中的單個文件。

看這個粗糙的例子,

寫入瀏覽並列出每個文件的方法Downloads目錄,如果目錄中找到Downloads文件夾中,也列出它的文件,

public void getFilesFromDir(File filesFromSD) {

    File listAllFiles[] = filesFromSD.listFiles();

    if (listAllFiles != null && listAllFiles.length > 0) {
        for (File currentFile : listAllFiles) {
            if (currentFile.isDirectory()) {
                getFilesFromDir(currentFile);
            } else {
                if (currentFile.getName().endsWith("")) {
                    // File absolute path
                    Log.e("File path", currentFile.getAbsolutePath());
                    // File Name
                    Log.e("File path", currentFile.getName());

                }
            }
        }
    }
}

獲取Downloads目錄的路徑,並將其作為上述方法中的參數傳遞,

File downloadDir = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());

getFilesFromDir(downloadDir);

不要忘記,您需要在清單中設置此權限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

您可以改用WRITE_EXTERNAL_STORAGE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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