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");