java - 如何访问 res/raw 文件夹或 android 中任何其他位置的文件?

标签 java android file-io

我一天前发布了类似的问题,但我在这里简化了我的问题,希望能够得到解决。 我想我知道当读取带有“filename.ext”的文件时,我使用

InputStream inputStream = getResources().openRawResource(R.raw.filename);

但是我如何访问多个文件呢?我需要一个类似的函数

InputStream inputStream[] = getResources().openRawResource(R.raw.*.*);

谢谢!

最佳答案

如果您将文件放在 assets/ 中而不是 res/raw/ 中,那么类似这样的操作可能适合您:

    AssetManager am = getAssets();
    String assetFileNames[] = am.list("");
    InputStream inputStream;
    for(String assetFileName : assetFileNames) {
        inputStream = am.open(assetFileName);
        // Replace with whatever you want to do with the file here
        processAssetFile(inputStream);
        inputStream.close();
    }

请注意,上面的几个方法会抛出 java.io.IOException,您必须在自己的实现中处理它。

关于java - 如何访问 res/raw 文件夹或 android 中任何其他位置的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28622759/

相关文章:

java - 写入文件不会写入

java - 使用动态代理集中 JPA 代码

java - 为什么我必须强制转换这个泛型类型?

java - 如何提高抓砖类(class)的速度?

Android SQLite 更新查询不起作用?

java - Java NetBeans 上的批量读取错误(列车调度)

java - 如何防止JDOM2中的XMLOutputter切割属性名称(命名空间部分)?

java - Android + RxJava + For Loop + 不执行所有请求

android - 如何检测 Android 4.2 中的 USB 连接?

java - 在Java中读取文件时如何保留特殊符号?