Java 访问资产文件夹中的文件

Java 访问资产文件夹中的文件,java,android,Java,Android,如果我使用输入流从资产文件夹访问文件,如 InputStream is = getAssets().open("errorMapperConfig.xml"); 我遇到了NullPointerException,请帮助我解决此问题 private void readFiles() { try { AssetManager assetManager = getAssets(); InputStream i

如果我使用输入流从资产文件夹访问文件,如

InputStream is = getAssets().open("errorMapperConfig.xml");
我遇到了
NullPointerException
,请帮助我解决此问题

private void readFiles() {
           try
           {
            AssetManager assetManager = getAssets();
            InputStream inputStream;
            inputStream = assetManager.open("webpages/how-to-use.html");

            String detail=loadTextFile(inputStream);
            webView.loadData(detail, "text/html", "utf-8");

           }
           catch(Exception e){
               Log.e("Exception ","======>"+e.toString());
             }
        }

    public String loadTextFile(InputStream inputStream) throws IOException {
        ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
        byte[] bytes = new byte[4096];
        int len = 0;
        while ((len = inputStream.read(bytes)) > 0)
          byteStream.write(bytes, 0, len);
        return new String(byteStream.toByteArray(), "UTF8");
      }

我希望这会有帮助。谢谢

使用
Context
变量来
getAssetes()


您必须将主活动的上下文传递给这个类。将下面的代码放入带有活动的类的
onCreate()
方法中:

Context context = getApplicationContext();
然后,将代码替换为:

InputStream is = context.getAssets().open("errorMapperConfig.xml");
不要忘记在项目根目录中名为
assets
的文件夹中必须有一个名为
errorMapperConfig.xml
的文件


请参阅的文档。

我正在java Classis中的解析函数中使用这行代码,
getAssets()
似乎返回null。您是否正确创建了assets文件夹?看看我的答案:是的,但我如何访问java类中不扩展活动的assets文件夹中的文件?如果我在活动中使用相同的函数,我可以获得输出,但当我在java类中使用该函数并从活动调用该函数时,我会得到空指针异常
InputStream is = context.getAssets().open("errorMapperConfig.xml");