簡體   English   中英

android-從/ res / raw文件夾中檢索所有文件作為文件類型

[英]android - retrieve all files from /res/raw folder as File type

如何將/ res / raw文件夾中的所有文件檢索為File? 我已經找到了這種解決方案,並且在下面的代碼中可以看到,“ New Folder”值已替換為“ res / raw”:

public File[] getRawFiles() {
        File sdCardRoot = Environment.getExternalStorageDirectory();
        File yourDir = new File(sdCardRoot, "res/raw");
        return yourDir.listFiles();
}

當程序啟動時,我在return yourDir.listFiles行中return yourDir.listFiles異常:

Caused by: java.lang.NullPointerException: Attempt to get length of null array

我該如何解決,到“ res / raw /”的正確路徑是什么?

如何將/ res / raw文件夾中的所有文件檢索為File?

你不可以做這個。 正如我們昨天討論的那樣 ,資源不是設備文件系統上的文件。 它們是開發計算機上的文件。 它們只是設備上APK文件中的條目。

要么:

  • 以其他方式執行不涉及文件的其他操作,或者

  • Resources對象上使用openInputStream() (可以通過getResources()從任何Context獲取一個),並使用Java I / O將資源的內容復制到本地文件(例如內部存儲器)上 ,並使用反射來遍歷實際資源 ,或者

  • 切換到使用assets/而不是res/raw/ ,因為AssetManager允許您list()資產list() (盡管您仍然僅在資產上獲得InputStream ,就像資源一樣,資產不是設備上的文件)

暫無
暫無

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

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