繁体   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