![](/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.