我将文件放在目录资产中。我怎么得到它们? 我尝试按照说明操作但没有工作:
File f = new File("/data/data/ant.BrowserX/files/" + pagCorrente + ".html");
File f = new File("file:///android_asset/" + pagCorrente + ".html");
没有错误但正在运行我无法访问该文件。如何访问“资产”目录?
修改
谢谢你的伎俩。我有一个问题,我使用BufferedReader来读取文件,并初始化它,而不是使用InputStream。in = new BufferedReader(new FileReader(f));
我该怎么办?
答案 0 :(得分:4)
您可以通过getResources()中的getAssets()方法从文件中获取InputStream:
InputStream is = getResources().getAssets().open("file.html");
然后只需将流转换为您需要的任何内容
答案 1 :(得分:2)
我知道您可以使用它来获取输入流:
final AssetManager assetMgr = this.getResources().getAssets();
InputStream is = assetMgr.open(pagCorrente +".html");
所以你可以使用:
File f = new File(this.getResources().getAssets() + pagCorrente + ".html");
答案 2 :(得分:1)
简单回答,您不访问“目录”资产。 .apk中没有目录结构,只是数据。框架知道如何访问它(getAssets()
),但你不能像标准目录一样使用它。
话虽这么说,如果你试图使用WebView并访问一个html文件(它看起来像什么),他们会设置一个“假的”路径引用,你可以像这样使用:
WebView wv = (WebView)this.findViewById(R.id.yourWebView);
wv.loadUrl("file:///android_asset/" + pagCorrente + ".html");