访问文件系统

时间:2012-06-14 15:48:46

标签: android android-file

我将文件放在目录资产中。我怎么得到它们? 我尝试按照说明操作但没有工作:

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

我该怎么办?

3 个答案:

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