android从assets文件夹中读取文件

时间:2014-02-02 17:37:00

标签: java android

我试图读取assets文件夹中的文件 它抛出的异常是null

此方法属于未扩展任何其他类

的类
   public boolean loadShader(String shaderFile, StringBuilder str) {

    try {
        File file = new File(shaderFile);
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            str.append(line);
            str.append('\n');
        }

    } catch (Exception e) {
        e.getMessage().toString();
    }

    return true;
}

2 个答案:

答案 0 :(得分:1)

InputStream in = context.getAssets().open(shaderFile);

这仅适用于Activity,因此您需要一个上下文来执行操作。

答案 1 :(得分:0)

我认为你需要getAssets()

AssetFileDescriptor assetDescriptor = getAssets().openFd("shader.txt");
BufferedReader br = new BufferedReader(new FileReader(descriptor.getFileDescriptor()));