![](/img/trans.png)
[英]Copying directories and files from res/raw folder to sd card - android
[英]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.