我的应用程序的资产文件夹中有几个html文件。我的应用程序根据设备语言加载这些文件。当我检查文件是否存在时,它说不存在,但是当我使用 browser.loadUrl(文件名)加载该文件时,它会加载正常。
以下代码将帮助您了解我的问题:
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);
[它加载新文件.html但不加载实际文件名.html]
不能将File
用于资源。为此,您需要使用AssetManager
。
(如果File
确实处理资源,我认为它不会处理,您必须首先将路径转换为URI
,例如使用 URI.create()
.文件(字符串)需要一个路径,而不是一个 URI。
这是您正在使用的确切代码吗? 您可能希望调用 f.exists() 而不是 filename.exist()。
编辑:尝试使用资源管理器,而不是硬编码文件路径。我最好的猜测是您使用的文件路径并不完全是它应该的样子。