我的应用程序的assets文件夹中有很少的html文件。我的应用程序根据设备语言加载这些文件。当我检查文件是否存在时,它说不存在,但是当我使用browser.loadUrl(filename)加载该文件时,它会加载它。
以下代码可帮助您了解我的问题:
String filename="file:///android_asset/actualfilemname.html";
File f = new File(filename);
if(!f.exist){
filename = "file:///android_asset/newfile.html";[Everytime it loads this file even though I have actualfilename.html in the folder]
}
browser.loadUrl(filename);
[它加载newfile.html但不加载actualfilename.html]
答案 0 :(得分:2)
您无法将File
用于资源。您需要使用AssetManager
。
(在File
处理资源的情况下,我认为不会这样做,您必须首先将路径转换为URI
,例如使用{{ 1}}。File(String)需要一个路径,而不是一个URI。)
答案 1 :(得分:1)
这是您使用的确切代码吗?你可能想调用f.exists()而不是filename.exist()。
修改:尝试使用AssetManager而不是硬编码文件路径。我最好的猜测是你使用的文件路径并不完全是它应该的样子。